Перейти к содержимому

Тестирование безопасности
онлайн, начало 16 июня
Автоматизатор мобильных приложений
онлайн, начало 16 июня
Автоматизация тестирования REST API на Python
онлайн, начало 16 июня
Selenium WebDriver: полное руководство
онлайн, начало 18 июня

Публикации Hayasa

21 публикаций создано Hayasa (учитываются публикации только с 14 июня 2020)


#147695 В полях ввода не всегда пишет нужный текст полностью

Отправлено автор: Hayasa 14 января 2016 - 10:13 в Selenium - Functional Testing

Привет всем. Пишу тест с помощю selenium webdriver, язык java. Есть сайт, в котором нужно вводить определенные тексты в поля для ввода. При запуске теста, driver находит эти поля и вводит текст, но иногда в одном из полей, где текст около 250 символов, текст вводит не полностю и проходит к следующей строке. Помогите решить эту проблему. Вот кусок кода. 

 

WebDriver driver = new ChromeDriver();
driver.get("localhost:8080/#/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);


driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[2]/input")).sendKeys("text 1");
driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[3]/input")).sendKeys("text 2");

driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[4]/input")).sendKeys("text 3");




#147701 В полях ввода не всегда пишет нужный текст полностью

Отправлено автор: Hayasa 14 января 2016 - 11:54 в Selenium - Functional Testing

Я делаю так:
 

waitCustom.withTimeout(10, TimeUnit.SECONDS)
            .withMessage("Не удалось заполнить поле")
                .until(MyConditions.keysSendedToField(field,"Трям-Трям-Трям"));
public class MyConditions{
 
public static ExpectedCondition<Boolean> keysSendedToField(final WebElement element, final String text) {
    return new ExpectedCondition<Boolean>() {
      @Override
      public Boolean apply(WebDriver driver) {
        if(element.isDisplayed()){
            element.clear();
            element.sendKeys(text);
            L.l(element.getAttribute("value")+" must be = "+text, 20);
            if(element.getAttribute("value").equals(text))return true;
        }
        return false;
      }

      @Override
      public String toString() {
        return "keys "+text+"sended to field ";
      }
    };
  }

}

Спасибо, но мне не совсем понятно.Я не программист, только начал изучать selenium и использую простые команды драйвера.




#147702 В полях ввода не всегда пишет нужный текст полностью

Отправлено автор: Hayasa 14 января 2016 - 12:03 в Selenium - Functional Testing

 

 

 

в одном из полей, где текст около 250 символов

Не совсем понятно: 250 - это длина текста, который вы пытаетесь туда ввести, либо это максимальная длина поля?

 

В первом случае, если вы пытаетесь ввести больше, чем позволяют ограничения поля - вы и вручную больше максимума не введете (в большинстве случаев, если учтены все возможные способы ввода).

Тут надо бы не кусок кода вашего теста, а код того элемента, в котором у вас регулярно значения не полностью вводятся.

 

250 символов, это длинна текста. Максимальную длинна поля 255. Тесты каждий раз проходят по разному, то все ок, то пишет 10-20 символов и переходит к следующей строке, то пишет около 100 символов и переходит к следующей строке. Код элемента по моему тут не причем, одинаковые inputtext элементы.




#147703 В полях ввода не всегда пишет нужный текст полностью

Отправлено автор: Hayasa 14 января 2016 - 12:25 в Selenium - Functional Testing

Спасибо за помощь. Поставил явное ожидание для проблемного поля ввода. Проверил около 50 раз, все ок. Видоизменений код теста.

 

WebDriver driver = new ChromeDriver();
driver.get("localhost:8080/#/");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);


driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[2]/input")).sendKeys("text 1");

WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[3]/input")));
driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[3]/input")).sendKeys("text 2");

driver.findElement(By.xpath(".//*[@id='saveLunchModal']/div/div/form/div[2]/div[4]/input")).sendKeys("text 3");




#147786 Нужен простой пример для повторения теста в цикле

Отправлено автор: Hayasa 18 января 2016 - 07:31 в Selenium - Functional Testing

Привет всем. Хотел узнать можно как то повторить 1 тест несколько раз подряд. Работаю с помощю selenium webdriver, язык java. 

Мне нужен простой пример, в остальном надеюсь разобраться сам.

 

WebDriver driver = new ChromeDriver();
driver.get("http://google.com");

driver.quit;

 

Например driver открывает какую то страницу, потом закрывает. Потом сново открывает ту же страницу и сново закрывает. Можно ли так сделать.  Буду очень признателен за помощь.




#147798 Нужен простой пример для повторения теста в цикле

Отправлено автор: Hayasa 18 января 2016 - 08:45 в Selenium - Functional Testing

Спасибо за помощь. Я не программист. Занимаюсь ручним тестированием.  Но сейчас приходится делать  автотесты и я без знания языка начал делать простые автотесты. Планирую параллельно изучить java, но сейчас я даже не знаю для чего скобки в коде, что такое public или private void. Просто знаю что здесь надо это ставить, там другое и делаю.

Буду признателен, если приведете конкретный пример повторения цикла действии открытия и потом закрытия веб страницы.




#147804 Нужен простой пример для повторения теста в цикле

Отправлено автор: Hayasa 18 января 2016 - 09:16 в Selenium - Functional Testing



WebDriver driver = new ChromeDriver();
for (int i=0; i<2 ; i++) { // откроет и закроет 2 раза страницу гугл
driver.get("http://www.google.com");
driver.quit;
}

Огромное спасибо. Очень помогли.




#147810 Нужен простой пример для повторения теста в цикле

Отправлено автор: Hayasa 18 января 2016 - 09:47 в Selenium - Functional Testing

Сначала тест падал. org.openqa.selenium.remote.SessionNotFoundException: Session ID is null. Using WebDriver after calling quit()?

Потом вывел driver.quit(); из скобок и заработало.

 

WebDriver driver = new ChromeDriver();
for (int i=0;i<2;i++) {
driver.get("http:/google.com");
}
driver.quit();




#147814 Нужен простой пример для повторения теста в цикле

Отправлено автор: Hayasa 18 января 2016 - 10:38 в Selenium - Functional Testing

Да , потому что драйвер закрывался, а новый не открывался в цикле.

теперь у тебя значит просто в цикле переходит по ссылке, но если ты хочешь имеено открывать и закрывать окно браузера, то тебе надо поместить в цикль(в скобки) открытие и закрытие дСпасибо

Спасибо, так и сделал, только сново driver.quit(); вернул в скобки и все заработало.

public class Test1 {
@Test
public void getURL (){
for (int i=0;i<3;i++){
WebDriver driver = new ChromeDriver();
driver.get("http:/google.com");
driver.quit();
}
}
}




#149153 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 04 марта 2016 - 11:43 в Selenium - Functional Testing

Привет всем. Нужно проверить наличие картинок на сайте. Язык Java.

Пробовал 2 метода.

1. click();

2. isDisplayed();

 

Пробовал с разными локаторами. Проблема в том, что даже если картинка не видна, остается div, class name и т. д.. этой картинки и тест не выдает ошибку.

Буду очень признателен за помощь.

 




#149160 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 04 марта 2016 - 12:11 в Selenium - Functional Testing

Вам нужно проверить, что объект отображается на данной странице (есть ли она вообще в верстке) или что ссылка на данную картинку валидна (не 404/500..)?

Да, нужно убедится, что объект отображается на данной странице.




#149161 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 04 марта 2016 - 12:15 в Selenium - Functional Testing

 

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.




#149218 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 09 марта 2016 - 06:00 в Selenium - Functional Testing

 

 

 

по тегу img

примерно так:

xpath

//img[not(@style='hidden')]

Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.

 

 

Ну так сначала читай мануал по Xpath, я не совсем понимаю, как можно делать автотетсы, если не умеешь составлять локаторы

 

Справедливо заметили, что мне надо уметь составлять локаторы. Я новичок, занимаюсь мануал тестингом, но сейчас надо писать автотесты и выбирать не приходится. Учусь писать автотести параллельно с работой. Использую firepath, который показывает xpath вебэлемента. В инете не смог найти инфу по моей теме и написал здесь. Буду очень признателен за помощь.




#149236 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 09 марта 2016 - 12:40 в Selenium - Functional Testing

Если Вы ожидаете помощи -- тогда было бы логично дать, например, ссылку на страницу, и сказать "я не знаю, как построить локатор для вот этого элемента".

Спасибо за ответ. Я не могу дать ссилку. потому что дело касается не веб сайта, а электронной почти. Каждый день я получаю письмо, где есть несколько картиноки и надо, в том числе, проверить, что эти картинки отображаются. Вот код.

 

WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(
30, TimeUnit.SECONDS);
driver.get(
"https://www.google.c...elp/about.html");
driver.findElement
(By.xpath(
".//*[@id='gmail-sign-in']")).click();
driver.findElement
(By.xpath(
".//*[@id='Email']")).sendKeys("");
Actions actions = 
new Actions(driver);
actions.sendKeys(Keys.
ENTER).build().perform();
WebDriverWait wait = 
new WebDriverWait(driver, 30);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
".//*[@id='Passwd']")));
driver.findElement
(By.xpath(
".//*[@id='Passwd']")).sendKeys("");
actions.sendKeys(Keys.
ENTER).build().perform();
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(
".//*[@id=':2m']")));
driver.findElement
(By.xpath(
".//*[@id=':2m']")).click();

//Ниже xpath картинок

driver.findElement(By.xpath(".//*[@id=':ky']/div[1]/center/table/tbody/tr/td/table/tbody/tr[4]/td/table[1]/tbody/tr/td/table/tbody/tr/td/img")).isDisplayed();

driver.findElement(By.xpath(".//*[@id=':ky']/div[1]/center/table/tbody/tr/td/table/tbody/tr[4]/td/table[7]/tbody/tr/td/table/tbody/tr/td/img")).isDisplayed();

 

Тест всегда проходит проверку, даже если в место одной из картинок только квадрат.  Как переделать код так, чтобы когде картинка не отображается, тест падал?




#149243 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 09 марта 2016 - 13:14 в Selenium - Functional Testing

Сходу, это не подойдет: http://htmlbook.ru/f...aetsya-na-sayte ?

Спасибо за ответ. Интересная статья, но по моему скромному мнению статья для программиста, а не для тестировщика. Прошу прощения, если не то говорю. Я только учусь




#149407 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 14 марта 2016 - 11:40 в Selenium - Functional Testing

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректн

Спасибо. Очень помогли, так и сделал. Все тепер ОК.




#149408 Проверка наличия картинки на сайте

Отправлено автор: Hayasa 14 марта 2016 - 11:41 в Selenium - Functional Testing

 

Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width)  - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректна.

+1. Сам так тоже делал. Так как если изображение не выводится, то вместо нее в зависимости от браузера (не)выводится иконка.

Также у меня часто не выводятся картинки из-за пустого src, его я тоже проверяю.

 

А вообще нужно смотреть в чем именно проблема не отображения картинки, если неверный src, то легче проверять ответ от сервера на 404 и т.п.

 

Спасибо за помощь.




#150059 Как создать testng.xml файл в IntelIj?

Отправлено автор: Hayasa 05 апреля 2016 - 06:36 в Selenium - Functional Testing

Привет всем. В eclipse можно создать testng.xml файл. А как это сделать в IntelIj?

 




#150060 Помогите с Jenkins.

Отправлено автор: Hayasa 05 апреля 2016 - 06:56 в Начинающему тестировщику

Привет всем.  Накапилось много тестов(Selenium Wwebdriver+maven +testng) которие нужно прогонять с помощю Jenkins? Вчера только узнал, что в мире есть continius integration и что есть вот такой tool(Jenkins). И как понимайте, не чего не смислю в этой теме. Подскажите видео или статьи для таких новичков, как я?




#150064 Как создать testng.xml файл в IntelIj?

Отправлено автор: Hayasa 05 апреля 2016 - 07:39 в Selenium - Functional Testing

Спс за ответ. Но я имел ввиду следующее. В eclipse можно кликать правой кнопкой на файл класс и создать testng.xml этого класса, а в intellij idea этот способ создание testng.xml  не нашел. 




#150065 Как создать testng.xml файл в IntelIj?

Отправлено автор: Hayasa 05 апреля 2016 - 07:41 в Selenium - Functional Testing

Написал в ручную testng.xml файл.Но если в IntellIj Idea есть такой способ, буду признателен, если подскажите где искать.





Яндекс.Метрика
Реклама на портале