問題タブ [codeceptjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
639 参照

javascript - カスタム ヘルパーでのアサーションの処理

私は CodeceptJs をいじり始めましたが、非常に簡単に動作するようになりました。現在NightmareJsで使用していますが、すべて問題ないようです。

私がテストしている特定の領域は、JSONP を介してインターフェイスからデータをフェッチし、<div>s でラップされた画像のリストを作成するギャラリーです。

私が実装しているテストの一部は、次のようなものです。

要素は任意の数になる可能性があるため、現在は最初の要素を静かに使用していますが、もう少しエントロピーを与えるために、次のような要素をランダムに選択したかったのです。

または、次のように、要素のリストを取得して、どの要素をクリックするかを決定できればさらに良いでしょう。

現在利用可能なヘルパーでは特定のアクションを実行できないため、http://codecept.io/helpers/のガイドで説明されているようにカスタム ハンドラーの実装を開始しました。

私の構成では、次のものがあります。

現在、domelements_helper.js次のようになっています。

これは明らかに機能しません。これは私が少し混乱しているところです。

まず第一に、私はデフォルトの Node.js アサーション ライブラリを使用しています。必要があれば、Protractor や Chai-as-promised などのより堅牢なものに喜んで移行しますが、スリムであればあるほど良いです。

第二に、ドキュメントには次のことが明確に記載されています。

promise チェーンに追加するには、ヘルパー メソッドが値を返す必要があります。

本当に意味をなさないのはどちらですか...約束を返す必要がありますか、then()それともステートメント内ですべてを処理する必要がありますか? 基本的な値を返すことは、実際にはあまり効果がありません。それでも、失敗したアサーションをどのように処理しますか?

コードベースでナイトメアクライアントスクリプトも見ましたが、カスタマイズと拡張の方法をもう少しよく理解するためにコードベースを掘り下げ始めたばかりなので、それが私の場合に役立つかどうかはわかりませんCodeceptJs.

どんなポインタでも本当に感謝しています

0 投票する
1 に答える
475 参照

javascript - Codeceptjs with Nightmare でテスト結果が出力されない

基本的に、http://codecept.io/ページのget startedセクションで説明されているようにすべてを行いました。

package.json からの devDependencies:

コードセプト.json:

テスト自体もチュートリアルからのものです:

実行するcodeceptjs run --stepsと、コンソールに出力が表示されます: スクリーンショット

テストが成功するか失敗するかは問題ではなく、出力は常に同じです。

私が間違っていることと、それを修正する方法を誰かが知っていますか?

0 投票する
1 に答える
865 参照

node.js - Ubuntu での CodeceptJS のインストールに関する問題

CodeceptJS を使用する新しいシステムをセットアップしていたところ、問題が発生しました。これらの注意事項に従いましたが、codeceptjs を実行しようとするとエラーが発生します。エラーは...

私のnode.jsとnpmは、通常のapt-getとnpm -gを介してグローバルにインストールされます

システム情報...

  • Ubuntu 17.04 x86_64
  • nodejs: 4.7.2
  • npm: 4.5.0
  • バッシュ 4.4.5

この問題の原因または回避方法を知っている人はいますか?


'use strict';更新として、 node_modules/codeceptjs/lib/mocha_factory.js の先頭にそれを追加したことについての注意を書いてくれた artem に感謝します。これで最初の問題は解決したと思います。ただし、node_modules/codeceptjs/lib/output.js で問題が発生しているようです。エラーは...

...私はこれを解決するためにいくつかのことを試み、印刷機能を調整しましたが、まだ運がありません.

これは、codeceptjs-nightmare および codeceptjs-webdriverio メタパッケージと同じようです。

誰かが持っているアイデア、提案、または代替案に感謝します。

0 投票する
1 に答える
346 参照

codeception - CodeceptJS Multiremote が WebdriverIO ヘルパーで動作しない

Websocket ベースのチャット アプリと、WebdriverIO ヘルパーを使用して Codeceptjs の Multiremote 機能のテスト ケースを自動化しようとしています。しかし、私はそれを機能させるのに苦労しています。

codecept.js 構成ファイルとテスト ファイルを正しく設定して、1 つのブラウザーと別のブラウザーの間で切り替えて動作させたいと考えています。 { "output": "./output", "helpers": { "WebDriverIO": { "url": "localhost", "browser":"chrome", "multiremote": { "MyChrome1": { "desiredCapabilities": { "browserName": "chrome" } }, "MyChrome2": { "desiredCapabilities": { "browserName": "chrome" } } }, "restart": false, "windowSize": "maximize", "timeouts": { "script": 60000, "page load": 10000, "implicit": 5000 } } }, "include": { "I": "./steps/ICustom_steps.js", "loginPage": "./page_objects/login_page/login_page.js", "chatPage": "./page_objects/chat_page/chat_page.js" }, "mocha": {}, "bootstrap": false, "teardown": null, "hooks": [], "tests": "./test_cases/*_test.js", "timeout": 10000, "name": "chat app test" }

2 つのブラウザがポップアップ表示されますが、テスト ファイルを正しく設定して、一方のブラウザと他方のブラウザの間でやり取りを切り替えるにはどうすればよいでしょうか。