ソーシャル ログイン スキーム (Facebook と twitter) でラップされた Web アプリがあります。私は現在、NPM モジュールbrowser-perfを介していくつかのセレン テストをセットアップしていpreScript
ます。認証などを実行するために実行できる .
{
preScript: function(browser) {
return function(browser) {
return browser.get(cfg.page).then(function() {
console.log('Filling in Username');
return browser.elementByCssSelector('.UsernameClass')
}).then(function(el) {
return el.type('Username for site');
}).then(function() {
console.log('Filling in Password');
return browser.elementByCssSelector('.PasswordFieldClass');
}).then(function(el) {
return el.type(cfg.password.val);
}).then(function() {
return browser.elementByCssSelector('.SubmitButton');
}).then(function(el) {
console.log('Clicking submit');
return el.click();
}).then(function() {
return browser.sleep(5000);
});
}
}
}
これを自分の Web アプリに適用する方法を考えていましたが、唯一の問題は、Facebook または Twitter のログイン ボタンをクリックすると、新しいウィンドウがポップアップし、元のスクリプトから制御が奪われることです。通常の使用例では、ユーザーが情報を入力し、ログインをクリックすると、コントロールが返されます。
自動セレンテストでこれを処理する方法はありますか? どうにかしてポップアップ ウィンドウへの参照を取得できますか?