Silenium サーバー、NUnit、WebDriver があります。
次のコードを含む C# dll があります。
private IWebDriver driver;
// ...
driver = new InternetExplorerDriver();
// ...
[Test]
public void test()
{
string testURL = "file:/C:/Tests/test.html";
driver.Navigate().GoToUrl(testURL);
IJavaScriptExecutor js = driver as IJavaScriptExecutor;
object resFunc = js.ExecuteScript("open_form");
object res = js.ExecuteAsyncScript("alert('hello')");
}
ファイルtest.html
は次のようになります。
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="./test.js"></script>
</head>
<body unselectable="on">
</body>
</html>
とtest.js
function open_form () {
document.body.style.backgroundColor = "green";
}
コンソール NUnit でテストを実行すると、"hello" が表示されたときに背景色が変更されません。HTML内にあり、いくつかのアクションを実行している関数を実行するにはどうすればよいですか?