万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    TestCefeとかで引数を使う

    package.jsopnでは

    "e2e": "testcafe chrome ./test/*-test.js",

    コマンド

    yarn comman --hoge bar

    ソースはこう

    import _ from 'lodash';
    /**
     * ["chrome:headless","./test/hoge-test.js","./test/hoge-test.js","--hoge","bar","--fuga","hogehoge"]
     * を {'hoge': 'bar', 'fuga': 'hogehoge'} に変換
     * それからキーをもとに取得
     *
     * @param {*} regex
     */
    const getParam = key => {
      const args = process.argv.slice(2);
      const MY_ENV = _.reduce(args, (result, item, key) => {
        if(item.includes('--')) {
          result[item.replace('--', '')] = args[key + 1];
        }
    
        return result;
      }, {});
    
      if (_.isNil(MY_ENV)) {
        return null;
      }
      
      return MY_ENV[key];
    }

    TestCafe await async メソッド

    TestCafe await async メソッド

    test('テスト名', async t => {
        const buttonName = await Selector('div').withText(/.*正規表現.*/).withAttribute('class', 'class-name');
    

    こういうのは

    こういうメソッド作って

    const myMethod = async (regex) => {
      const buttonName = await Selector('div').withText(regex).withAttribute('class', 'class-name');
      return buttonName;
    };

    こう呼ぶ

        const buttonName = await myMethod(/.*正規表現.*/);