セレンでは、programmatically submit a formを含む任意のJavascriptを実行できます。
セレンJavaの最も単純なJSの実行:
if (driver instanceof JavascriptExecutor) {
((JavascriptExecutor) driver).executeScript("alert('hello world');");
}
とJavascriptであなたは、POSTリクエストを作成し、必要なパラメータおよびHTTPヘッダーを設定し、それを提出することができます。
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://httpbin.org/post', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
alert(this.responseText);
};
xhr.send('login=test&password=test');
あなたはalert(this.responseText)
使用return this.responseText
するのではなく、その後、セレンに応答テキスト上を通過し、Javaの変数にexecuteScript()の結果を割り当てる必要がある場合。
セレンでフォームに記入してフォームを送信し、実行完了時に適切なデータが表示されるようにしてください。しかし、アプリケーションBがダウンしている場合、このテストは常に失敗します。つまり、この相互作用を模擬する必要があると思います。 – Scott
@Scott:私は、フォームがどこにあるアプリケーションBにアクセスすることもありません。 –
あなたがアクセス権を持っているアプリケーションの内部でフォームを偽装することが唯一の方法だと思われます。そうでなければ、セレンはこの文脈で最も意味をなさない。 – Scott