Вам нужно проверить, что объект отображается на данной странице (есть ли она вообще в верстке) или что ссылка на данную картинку валидна (не 404/500..)?
Да, нужно убедится, что объект отображается на данной странице.
21 публикаций создано Hayasa (учитываются публикации только с 22 мая 2023)
Отправлено автор: Hayasa 04 марта 2016 - 12:11 в Selenium - Functional Testing
Вам нужно проверить, что объект отображается на данной странице (есть ли она вообще в верстке) или что ссылка на данную картинку валидна (не 404/500..)?
Да, нужно убедится, что объект отображается на данной странице.
Отправлено автор: Hayasa 04 марта 2016 - 11:43 в Selenium - Functional Testing
Привет всем. Нужно проверить наличие картинок на сайте. Язык Java.
Пробовал 2 метода.
1. click();
2. isDisplayed();
Пробовал с разными локаторами. Проблема в том, что даже если картинка не видна, остается div, class name и т. д.. этой картинки и тест не выдает ошибку.
Буду очень признателен за помощь.
Отправлено автор: Hayasa 09 марта 2016 - 06:00 в Selenium - Functional Testing
по тегу img
примерно так:
xpath
//img[not(@style='hidden')]Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.
Ну так сначала читай мануал по Xpath, я не совсем понимаю, как можно делать автотетсы, если не умеешь составлять локаторы
Справедливо заметили, что мне надо уметь составлять локаторы. Я новичок, занимаюсь мануал тестингом, но сейчас надо писать автотесты и выбирать не приходится. Учусь писать автотести параллельно с работой. Использую firepath, который показывает xpath вебэлемента. В инете не смог найти инфу по моей теме и написал здесь. Буду очень признателен за помощь.
Отправлено автор: Hayasa 04 марта 2016 - 12:15 в Selenium - Functional Testing
по тегу img
примерно так:
xpath
//img[not(@style='hidden')]
Я незнаю принципи структури xpath или css selector-a. Я новичок и имел дело только с плагином firepath и самостоятельно не могу написать путь к обьекту.
Отправлено автор: 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();
Тест всегда проходит проверку, даже если в место одной из картинок только квадрат. Как переделать код так, чтобы когде картинка не отображается, тест падал?
Отправлено автор: Hayasa 14 марта 2016 - 11:40 в Selenium - Functional Testing
Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width) - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректн
Спасибо. Очень помогли, так и сделал. Все тепер ОК.
Отправлено автор: Hayasa 09 марта 2016 - 13:14 в Selenium - Functional Testing
Сходу, это не подойдет: http://htmlbook.ru/f...aetsya-na-sayte ?
Спасибо за ответ. Интересная статья, но по моему скромному мнению статья для программиста, а не для тестировщика. Прошу прощения, если не то говорю. Я только учусь
Отправлено автор: Hayasa 14 марта 2016 - 11:41 в Selenium - Functional Testing
Вахе, я бы сделал так - нашел этот элемент-картинку (как ты и ищешь) - и взял его высоту и ширину (.getSize().height и .getSize().width) - если они реалистичны, и подходят для тебя - то картинка есть, а если маленькие величины - то картинка некорректна.
+1. Сам так тоже делал. Так как если изображение не выводится, то вместо нее в зависимости от браузера (не)выводится иконка.
Также у меня часто не выводятся картинки из-за пустого src, его я тоже проверяю.
А вообще нужно смотреть в чем именно проблема не отображения картинки, если неверный src, то легче проверять ответ от сервера на 404 и т.п.
Спасибо за помощь.
Отправлено автор: Hayasa 05 апреля 2016 - 06:56 в Начинающему тестировщику
Привет всем. Накапилось много тестов(Selenium Wwebdriver+maven +testng) которие нужно прогонять с помощю Jenkins? Вчера только узнал, что в мире есть continius integration и что есть вот такой tool(Jenkins). И как понимайте, не чего не смислю в этой теме. Подскажите видео или статьи для таких новичков, как я?
Отправлено автор: Hayasa 18 января 2016 - 08:45 в Selenium - Functional Testing
Спасибо за помощь. Я не программист. Занимаюсь ручним тестированием. Но сейчас приходится делать автотесты и я без знания языка начал делать простые автотесты. Планирую параллельно изучить java, но сейчас я даже не знаю для чего скобки в коде, что такое public или private void. Просто знаю что здесь надо это ставить, там другое и делаю.
Буду признателен, если приведете конкретный пример повторения цикла действии открытия и потом закрытия веб страницы.
Отправлено автор: Hayasa 18 января 2016 - 07:31 в Selenium - Functional Testing
Привет всем. Хотел узнать можно как то повторить 1 тест несколько раз подряд. Работаю с помощю selenium webdriver, язык java.
Мне нужен простой пример, в остальном надеюсь разобраться сам.
WebDriver driver = new ChromeDriver();
driver.get("http://google.com");
driver.quit;
Например driver открывает какую то страницу, потом закрывает. Потом сново открывает ту же страницу и сново закрывает. Можно ли так сделать. Буду очень признателен за помощь.
Отправлено автор: 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; }
Огромное спасибо. Очень помогли.
Отправлено автор: 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();
Отправлено автор: 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();
}
}
}
Отправлено автор: Hayasa 05 апреля 2016 - 07:39 в Selenium - Functional Testing
Спс за ответ. Но я имел ввиду следующее. В eclipse можно кликать правой кнопкой на файл класс и создать testng.xml этого класса, а в intellij idea этот способ создание testng.xml не нашел.
Отправлено автор: Hayasa 05 апреля 2016 - 07:41 в Selenium - Functional Testing
Написал в ручную testng.xml файл.Но если в IntellIj Idea есть такой способ, буду признателен, если подскажите где искать.
Отправлено автор: Hayasa 05 апреля 2016 - 06:36 в Selenium - Functional Testing
Привет всем. В eclipse можно создать testng.xml файл. А как это сделать в IntelIj?
Отправлено автор: Hayasa 14 января 2016 - 12:03 в Selenium - Functional Testing
в одном из полей, где текст около 250 символов
Не совсем понятно: 250 - это длина текста, который вы пытаетесь туда ввести, либо это максимальная длина поля?
В первом случае, если вы пытаетесь ввести больше, чем позволяют ограничения поля - вы и вручную больше максимума не введете (в большинстве случаев, если учтены все возможные способы ввода).
Тут надо бы не кусок кода вашего теста, а код того элемента, в котором у вас регулярно значения не полностью вводятся.
250 символов, это длинна текста. Максимальную длинна поля 255. Тесты каждий раз проходят по разному, то все ок, то пишет 10-20 символов и переходит к следующей строке, то пишет около 100 символов и переходит к следующей строке. Код элемента по моему тут не причем, одинаковые inputtext элементы.
Отправлено автор: 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");
Отправлено автор: 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 и использую простые команды драйвера.
Отправлено автор: 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");
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru