Я использую Selenium Webdriver, написанный на C# в течение нескольких месяцев, и я с ним довольно хорошо справляюсь. Вот мой сценарий в работе, в настоящее время я тестирую пользовательский интерфейс для веб-браузера. Проблема в том, что мне нужно протестировать сразу нескольких пользователей и контролировать память сервера и т. Д. Я использовал jMeter в прошлом для тестирования нагрузки на сервер, и я бы очень хотел использовать селен, чтобы сделать что-то подобное с максимально возможным количеством пользователей.C# - Selenium Webdriver - Headless Browser - Unit Testing - Основы
Из того, что я понимаю, я мог бы достичь этого, используя браузер без использования гарнитуры в сочетании с Selenium (для тех, кто не знает, загрузка нескольких браузеров, как правило, потребляет вашу память устройства и ограничивает вас до 6/7 браузеров, которые вы можете запустить одновременно)
Итак, я полагаю, что я использую безгласный браузер и посмотрю, как много я могу получить сразу. Мое исследование побуждает меня поверить, что я могу использовать SimpleBrowser вместе с селеном для достижения этого.
Трудно найти примеры сочетания двух из них. Итак, мой первый вопрос о многих - если это безголовый браузер, действительно ли существуют элементы страницы или это просто запросы, которые отправляются между клиентом и сервером?
Например, если я использую селен, чтобы найти элемент на странице, я написал бы
IWebElement имя пользователя = driver.FindElement (By.XPath ("// ввод [@ ид = 'MainContent_txtUsername']")); username.SendKeys (userUserName);
Я написал это же для модульного теста и сказал, что он прошел. Однако, когда я отправляю пароль и «нажимаю» кнопку входа, я не могу пройти следующий тестовый метод. т. е. после входа в систему я ожидаю найти кнопку со значением «Изменить пароль компании». Этот модульный тест не проходит, поэтому он заставляет меня думать, что он не зарегистрировался.
Итак, мой вопрос: в безголовом браузере эти элементы существуют вообще или как это работает? Если да, как мне нажать кнопку входа? Спасибо Ребята
Вот мой код:
[TestMethod]
public void AddPhoneToCartAndVerifyInCart()
{
//This is the placeholder to write actual code.
Assert.AreEqual(" SPC Connect ", driver.Title);
}
[TestMethod]
public void LogIn()
{
Assert.IsTrue((driver.FindElement(By.XPath("//input[@class='btn btn-info']")).Text).Contains("Login"));
IWebElement username = driver.FindElement(By.XPath("//input[@id='MainContent_txtUsername']"));
username.SendKeys(userAccount);
IWebElement password = driver.FindElement(By.XPath("//input[@id='MainContent_txtPassword']"));
password.SendKeys(userPassword);
IWebElement clickSubmit = driver.FindElement(By.XPath("//input[@class='btn btn-info']"));
clickSubmit.Click();
}
[TestMethod]
public void LogInSuccess()
{
Assert.IsTrue((driver.FindElement(By.XPath("//input[@id='MainContent_btnChangeCompanyPassword']")).Text).Contains("Change Company Password"));
}