セレンテストに使用できる一般的なWebdriverクラスを作成しました。新しいテストを作成するたびに、私はこのクラスからwebdriverを取得します。 SauceLabs上で実行されます。ここSeleniumテストをSauceLabsに接続
私はここで
package com.atmn.config;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
public class Driver {
private static Log log = LogFactory.getLog(Driver.class);
public static String USERNAME = "name";
public static String ACCESS_KEY = "key";
public static WebDriver driver = createDriver("firefox", "47.0", "Windows 10");
public static WebDriver createDriver(String browser, String version, String os) {
try{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, browser);
capabilities.setCapability(CapabilityType.VERSION, version);
capabilities.setCapability(CapabilityType.PLATFORM, os);
// Launch remote browser and set it as the current thread
return new RemoteWebDriver(
new URL("http://"+USERNAME+":"+ACCESS_KEY+"@ondemand.saucelabs.com:80/wd/hub"),
capabilities);
}
catch(MalformedURLException e)
{
e.printStackTrace();
//log message
log.info(e.getMessage());
}
return null;
}
は私のテストで私のドライバを作成するために使用していますものですが、Windowsの10およびFirefox 47
package com.atmn.tests;
import com.tplus.atmn.tasks.CommonTasks;
import com.tplus.atmn.objects.TOA6;
import java.lang.reflect.Method;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import com.tplus.atmn.tasks.HttpRequest;
public class Testing extends CommonTasks {
private static Log log = LogFactory.getLog(TB6_TOA.class);
@Test (groups = {"Testing"})
public static void endToEnd() throws Exception {
//Load URL
HttpRequest http = new HttpRequest();
String URL = http.internetWebAddress();
driver.get(URL);
//Page 1
// Item Text
verifyText(Object.ItemText, "Multiple Choice - Single Answer Radio - Vertical");
verifyText(Object.Progress_PercentComplete, "0%");
//URL
verifyNoRedirect();
//Go to next page
driver.findElement(Object.Start).click();
System.out.println("Next Button was clicked.");
}
}
の代わりにちょうど私を実行しているを使用しますSauceLabsの1つのブラウザでテストして、このテストを複数のブラウザ/ OSの組み合わせで並行して実行したいと思います。これを実現するためにドライバクラスを変更する方法がわかりません。
あなたはこの質問をグーグルましたか?彼らの助けwikiを読んだことがありますか? – JeffC
それは深刻な問題ですか?はい、私はそれをgoogled。はい、私はwikiを見ました。私はそれを理解することができないので、私は質問を投稿した。 – TestRaptor
はい、それは深刻な問題です。あなたの質問にグーグルで答えることができ、60歳未満で答えを見つけることができるとき、私は一般的に、質問者が自分の質問にグーグルで悩まされているかどうか尋ねます。 Saucelabs wikiの[Running Tests in Parallel](https://wiki.saucelabs.com/display/DOCS/Java+Test+Setup+Example#JavaTestSetupExample-RunningTestsinParallel)というこの記事を読んでいましたか?あなたが探しているものを持っているように見えます。そうでない場合、何が欠けていますか? – JeffC