まあ、私はCIとSVNにselenium web driver+ java + hudsonを使っています。また、XP、JDK、および Selenium stanalone サーバーが実行されている 192.168.4.52 IP のリモート マシンがあります。設定は次のようになります: 1) ハドソン:
BaseSeleniumTest.java に次のようなものを追加します。
....
@BeforeClass
public static void firefoxSetUp() throws MalformedURLException {
DesiredCapabilities capability = DesiredCapabilities.firefox();
driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(30, TimeUnit.SECONDS);
driver.manage().window().setSize(new Dimension(1920, 1080));
}
@Before
public void homePageRefresh() throws IOException {
driver.manage().deleteAllCookies();
driver.get(propertyKeysLoader("login.base.url"));
}
@AfterClass
public static void closeFirefox(){
driver.quit();
}
文字列のどこに
driver = new RemoteWebDriver(new URL("http://192.168.4.52:4444/wd/hub"), capability);
リモート マシンの IP アドレスを書きます。
BaseSeleniumTest.java - Selenium プロジェクトの基本的なクラスで、すべての基本的なメソッドを記述します:isElementPresent(By locator),fluentWait(By locator),isElementVisible(By locator), @Before, @BeforeClass, @AfterCLass, @After
注釈。他のクラスには、さまざまなフォームをカバーするテストのみが含まれます。そして、BaseSeleniumTest からすべてのメソッドを継承します。
また、Jenkins が実行する必要があるテスト スクリプト (BaseSeleniumTest.java) があることを Jenkins に伝えるにはどうすればよいですか?
問題は、ビルド マネージャー (上記の hudson 設定を参照) と Tortoise SVN として Maven を使用することです。リポジトリを作成し、プロジェクトをリポジトリにコミットします。リンクを取得し、hudson に貼り付けます。そしてハドソンは、maven がプロジェクトのビルドに使用したことを知っています (クリーン テスト オプションを使用)。Build project - hudson make: リポジトリからチェックアウトし、プロジェクトをビルドします。つまり、テストを実行して結果を出力します。
お役に立てば幸いです。