問題タブ [protractor]
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.
javascript - 分度器: アラートのテキストを取得しますか?
分度器でAngularアプリをテストしています。ドキュメントを調べましたが、アラートのテキストを取得する方法が見つかりません。それ自体はDOMの要素ではありません(少なくとも、私が理解できるわけではありません。アラートが発生すると、Chromeのインスペクターはそれを検査することを許可しません)。アラートのメッセージが正しいことをテストするにはどうすればよいですか? それとも、それは存在しますか?
編集
これが私のコードです。HTML:
JS:
分度器仕様:
ボタンのテキストに対して次のようにアサーションを作成すると、次のようになります。
合格です。しかし、次のようなアラートを読み取ろうとすると:
次のエラーが表示されます。
$ protractor spec/e2e/conf.js http://localhost:4444/wd/hubでセレンサーバーを使用.F
失敗:
1) alert は警告メッセージを伝えます Message: NoSuchAlertError: no alert open (Session info: chrome=30.0.1599.101) (Driver info: chromedriver=2.2,platform=Mac OS X 10.9.0 x86_64) (WARNING: The server did not provide任意のスタック トレース情報) コマンド期間またはタイムアウト: 3 ミリ秒 ビルド情報: バージョン: '2.35.0'、リビジョン: 'c916b9d'、時間: '2013-08-12 15:42:01' システム情報: os.name: ' Mac OS X'、os.arch: 'x86_64'、os.version: '10.9'、java.version: '1.6.0_65' セッション ID: edbaa752eb14ad45f7e961903b69a466 ドライバー情報: org.openqa.selenium.chrome.ChromeDriver Capabilities [{platform =MAC, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={chromedriverVersion=2.2}, rotatable=false, locationContextEnabled=true, version=30.0.1599.101,cssSelectorsEnabled=true、databaseEnabled=true、handlesAlerts=true、browserConnectionEnabled=false、nativeEvents=true、webStorageEnabled=true、applicationCacheEnabled=false、takeScreenshot=true}]
2.125 秒で完了 2 つのテスト、2 つのアサーション、1 つの失敗
/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1542 エラーをスローします。^ NoSuchAlertError: アラートが開かれていません
しかし、ページでテストしたところ動作し、DOM でボタンを明確に見つけることができました。では、click()
機能が機能していないか、何か他のことが起こっているのでしょうか?
javascript - 分度器で疑似要素の値を取得する
擬似要素のテキスト コンテンツを検証したいと思います。使用から返された約束ptor.executeScript("window.getComputedStyle(jQuery('.my-class')[0], ':after').content").then(function(data){
console.log(arguments) // {'0':null}
});
私もそれを期待して落とそうとしましたが、同じ理由で失敗すると思います。
とにかく、これの CSS 宣言は要素の属性の 1 つを指しているので、その属性を読み取ろうとする必要がありますか?
angularjs - jasmine プラグインを分度器とラインマンに統合する
Lineman プロジェクトの e2e 分度器テストに jasmine プラグイン (jasmine-jquery など) を統合するにはどうすればよいですか?
javascript - 分度器 clear() が機能しない
2 つのテストがあります。
最初のテストである検索ボックスはうまく機能します。queryInput に入力された最後の値が 2 番目のテストに引き継がれ、queryInput.clear() が機能しないため、2 番目のテスト status はパスしません。しかし、2回目のテストで、queryInput.sendKeys("something") を呼び出すと、"something" が表示されます。2 番目のテストで clear() を取り出すと、「motorolasomething」が表示されます。したがって、clear() が機能しているように見えますが、2 番目のテストに clear() があるだけではテストに合格しません。2 番目のテストを実行すると、clear() が呼び出されても「motorola」と表示されます。二次試験前。
後に sendKeys() がないのに、2 番目のテストで clear() がクリアされないのはなぜでしょうか。
angularjs - ng-repeat 内のボタンをクリックします
ボタンである要素を見つけて分度器でクリックしようとしていますが、要素が表示されないというエラーが表示されます。
使用するptor.findElement(protractor.By.className('dog1')).click();
と、エラー要素が表示されません。
私は試した
行を印刷しますが、ネストされた要素をクリックすることはできません。
私は分度器バージョン 0.12.1 を使用します。ネストされた要素をクリックする方法はありますか? ありがとうございました