ブラウザを開く必要なしにSelenium System Testsを実行する方法は?
-
14-11-2019 - |
質問
私はセレンを使って作成されたテスト方法を持っています、これに似たもの:
[TestFixture]
public class Test_Google
{
IWebDriver driver;
[SetUp]
public void Setup()
{
driver = new InternetExplorerDriver();
}
[TearDown]
public void Teardown()
{
driver.Quit();
}
[Test]
public void TestSearchGoogleForTheAutomatedTester()
{
//Navigate to the site
driver.Navigate().GoToUrl("http://www.google.co.uk");
//Find the Element and create an object so we can use it
IWebElement queryBox = driver.FindElement(By.Name("q"));
//Work with the Element that's on the page
queryBox.SendKeys("The Automated Tester");
queryBox.SendKeys(Keys.ArrowDown);
queryBox.Submit();
//Check that the Title is what we are expecting
Assert.True(driver.Title.IndexOf("The Automated Tester") > -1);
}
}
.
試験が走るとき、それはIEを開き、そのテストを実行します。
複数のテスト備品にわたるこのような200のテスト方法があると想像している。これは、IEは何度も開閉されていなければならない(1つのブラウザはテストフィクスチャごとに開かれるため、テストフィクスチャ)。
ブラウザを開く必要なしにSeleniumシステムテストを実行する方法は?
例えば、Winforms WebブラウザコントロールでSelenium Testsを実行するためのWindowsサービスを開発することが可能であると考えていました。その場合、ブラウザをたびに開く必要がなく、テストが実行されることがあります。自動かつ見ずに。これを実装する方法がわからない?
または他のより良い既知の方法はありますか?
ありがとう、
解決
いいえ。SeleniumはJavaScriptで書かれています。実際のブラウザで実行されるように設計されています。実際のブラウザとの互換性をテストするように設計されています。ブラウザをシミュレートするテストを実行するように設計された他の様々なツールがあります。あなたは htmlunit または canooのWebtest 。
これがあなたを助けることを願っています。
他のヒント
あなたが好きなら、1つのブラウザインスタンスですべてのテストを実行できます。WebDriverインスタンスを各テストに渡すだけです。TestCaseがすべてWebDriverにアクセスできる場所から、Singelton WebDriverを静的クラスに持つことが好きです。を維持するためのセッションを手に入れた場合は、うまく機能し、便利です。
DRIVER= NEW HTMLUNITDRIVER(TRUE); java.util.logging.logger.getLogger( "com.gargoylesoftware")。SetLevel(Level.off);