Appium: как проверить веб-приложение в chrome на windows 10? - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь автоматизировать тесты для веб-приложения, работающего в Chrome на Windows 10, используя Appium.У меня есть код, как показано ниже, который отлично работает, использует chromedriver.Я хочу перевести это на подход appium.

RemoteWebDriver driver = new ChromeDriver(@"C:\Users\Administrator\Downloads\chromedriver_win32");
            driver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(60));

driver.Url = "https://www.bing.com/";
RemoteWebElement element = (RemoteWebElement)driver.FindElementById("sb_form_q");
element.SendKeys("webdriver");
element.SendKeys(Keys.Enter);

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
wait.Until(x => x.Title.Contains("webdriver"));

Я искал в Интернете и нашел много кода для тестирования веб-приложений на Chrome на эмуляторах Android на устройствах с Windows.Я не нашел ни одного примера, который запускает браузер Chrome непосредственно в Windows 10. Исходя из того, что я понял, я попытался принять код, внеся изменения в требуемые возможности, как показано ниже.

DesiredCapabilities caps = DesiredCapabilities.Chrome();
caps.SetCapability(CapabilityType.BrowserName, "chrome");
caps.SetCapability(CapabilityType.Version, "60");
caps.SetCapability(CapabilityType.Platform, "Windows 10");
caps.SetCapability("platformName", "Windows");
//caps.SetCapability("app", @"C:\Users\Administrator\Downloads\chromedriver_win32\Chromedriver.exe");
caps.SetCapability("app", @"Chrome");
caps.SetCapability("deviceName", "WindowsPC");

driver = new RemoteWebDriver(new Uri("http://127.0.0.1:4725/wd/hub"), caps, TimeSpan.FromSeconds(60));
driver.Url = "https://www.bing.com/";
((IWebDriver)driver).Navigate().GoToUrl("https://www.bing.com/");
RemoteWebElement element = (RemoteWebElement)driver.FindElementById("sb_form_q");
element.SendKeys("webdriver");
element.SendKeys(Keys.Enter);

Thread.Sleep(5000);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
wait.Until(x => x.Title.Contains("webdriver"));

Это, однако, не работает,Я думаю, что проблема в том, что я не могу понять, как настроить желаемые возможности, чтобы служба appium, работающая на http://127.0.0.1:4725/wd/hub, могла запускать chromedriver и запускать тесты.

Может кто-нибудь помочь, пожалуйста, укажитеошибка с приведенным выше кодом?Ценю вашу помощь.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Как и положено здесь - https://crossbrowsertesting.com/blog/appium/appium-native-web-hybrid-applications/

Appium - это платформа автоматизации тестирования с открытым исходным кодом, которая управляет родными, мобильными и гибридными приложениями iOS и Android с использованием протокола WebDriver, известного как Selenium API.То есть, Appium похож на двоюродного брата Selenium и используется для тестирования мобильных приложений вместо веб-приложений в настольных браузерах .

Согласно обсуждению здесь - https://discuss.appium.io/t/can-appium-automate-desktop-web-browsers/746/5 тоже кажетсяappium предназначен только для тестирования на мобильных устройствах.

0 голосов
/ 05 февраля 2019

вам нужно передать возможности телефона Android, а не компьютера WindWos, когда вы проходите

caps.SetCapability("platformName", "Windows");

Вот так, и вам нужно пройти версию ОС эмулятора или телефона Android, если вы используете его..

Для ознакомления посетите этот сайт, и вы узнаете все, что вам нужно знать ..

http://www.automationtestinghub.com/launch-chrome-browser-on-mobile-device/

Рад помочь .. сообщите нам, если это решениеработает для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...