Если в Selenium 3+ DesiredCapabilities устарели, что использовать вместо этого для мобильных веб-тестов?
Я пытаюсь научиться писать автоматизированные веб-тесты в SauceLabs, и Visual Studio говорит мне, что DesiredCapabilities устарела в Selenium 3. Я понял, как использовать ChromeOptions
для настольных тестов, но как насчет мобильных веб-тестов? Это работает:
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapability("deviceName", "iPhone 8 Simulator");
caps.SetCapability("deviceOrientation", "portrait");
caps.SetCapability("platformVersion", "12.0");
caps.SetCapability("platformName", "iOS");
caps.SetCapability("browserName", "Safari");
caps.SetCapability("username", SauceUsername);
caps.SetCapability("accessKey", SauceAccessKey);
caps.SetCapability("name", TestContext.TestName);
_driver = new RemoteWebDriver(new Uri("http://ondemand.saucelabs.com:80/wd/hub"),
caps, TimeSpan.FromSeconds(600));
Но я не хочу использовать устаревший класс. В прошлом я активно использовал Selenium, но впервые я проводил мобильные веб-тесты (без приложений, только Safari/ мобильный Chrome). Должен ли я использовать драйвер Appium вместо этого?
2 ответа
В будущем выпуске Appium v4 будет AppiumOptions(), который заменит это. Вы можете снять его сейчас и попробовать.
Это будет выглядеть примерно так:
public void SimpleTest()
{
var appiumOptions = new AppiumOptions();
appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformName, "Android");
appiumOptions.AddAdditionalCapability(MobileCapabilityType.PlatformVersion, "7.1.1");
appiumOptions.AddAdditionalCapability(MobileCapabilityType.FullReset, true);
appiumOptions.AddAdditionalCapability(MobileCapabilityType.NewCommandTimeout, 60);
appiumOptions.AddAdditionalCapability("testobject_api_key", "0D6C044F19D0442BA1E11C3FF087F6A6");
appiumOptions.AddAdditionalCapability("username", SauceUser.Name);
appiumOptions.AddAdditionalCapability("accessKey", SauceUser.AccessKey);
//TODO first you must upload an app to Test Object so that you get your app key
var rdcUrl = "https://us1.appium.testobject.com/wd/hub";
var driver = new AndroidDriver<IWebElement>(new Uri(rdcUrl), appiumOptions);
driver.Navigate().GoToUrl("https://www.ultimateqa.com");
Console.WriteLine("");
driver.Quit();
}
Я думаю, вы должны попробовать это с драйвером appium. Просто скачайте appium C# client и начните. Вы можете использовать следующую ссылку, чтобы начать с.
http://appium.io/docs/en/writing-running-appium/web/mobile-web/