Селен - Ява Ждет страницы, чтобы загрузить, терпит неудачу в сценариях тестирования

Я создаю тестовые сценарии в Eclipse IDE, используя JAVA с некоторыми сценариями Селена.

Моя проблема состоит в том, что иногда, Непрерывный Пробег Тестовых сценариев производит ошибочный тест/неудавшийся тест в selenium.waitForPageToLoad ("30000") метод. Я сделал решение, которое закрепит петлей метод, пока особое условие не соблюдают так, я пришел к этому коду. НО ЭТО не РАБОТАЕТ.

This what happens: Run Junit Test > @Test1,2,3..n > page does not load @ Test n > execute next line code > failed test in @Test n > because Page does not load so the next scripts cannot be done (missing required elements in the page because it doesn't load).

This what SUPPOSED to happen:Run Junit Test > @Test1,2,3..n > page does not load @ Test n > wait for page to load until Specific condition is met (ex. Element X is already present in the page)> execute next line code > passed test in @Test n

Мне нужно Решение, которые ждут Страница, чтобы загрузить, пока элемент, требуемый для следующих строк сценариев, не присутствует.

ЭТОТ КОДЕКС не РАБОТАЕТ. Я ужасно нуждаюсь в вашей помощи. Спасибо

//Wait for Page to Load until Expected Element is not Present   
public void waitForPageToLoadElement(final String isElementPresent){

boolean elementBoolean;
do{
selenium.waitForPageToLoad("30000");
elementBoolean = selenium.isElementPresent(isElementPresent);
if (elementBoolean==false){
try{Thread.sleep(3000);}
catch (Exception e) {
//catch
}}
}
while(elementBoolean==false);
}
//Wait for Page to Load until Expected Text is not Present
public void waitForPageToLoadText(String isTextPresent){

boolean elementBoolean;
do{
selenium.waitForPageToLoad("30000");
elementBoolean = selenium.isTextPresent(isTextPresent);
if (elementBoolean==false){
try{Thread.sleep(3000);}
catch (Exception e) {
//catch
}}
}
while(elementBoolean==false);

}

//Opens url until Expected Element is not Present
public void openUrl(String url){

boolean userNameBoolean, passwordBoolean;
do {
selenium.open(url);
userNameBoolean = selenium.isElementPresent("id=loginForm:username");
passwordBoolean = selenium.isElementPresent("id=loginForm:password");
if (userNameBoolean==false && passwordBoolean==false){
try{Thread.sleep(3000);}
catch (Exception e) {
//catch
}}
}while (userNameBoolean==false && passwordBoolean==false);

}
0
nl ja de
Я думаю, что ваши случаи войдут в бесконечный цикл с вышеупомянутым кодом, если элемент не будет найден. Элемент появляется на странице и не найден? Это происходит для определенного элемента или беспорядочно?
добавлено автор niharika_neo, источник
если не загружает, весь элемент отсутствует. Это происходит беспорядочно. У меня должен быть другой код, который будет ждать, пока условие не соблюдают не waitForPageToLoad (миллисекунды) метод.
добавлено автор hybrid_18, источник

1 ответы

Этот тип логики мог бы быть полезным для вас

public static void waitforElement(Selenium selenium,String element)
{

        try
        {
            int second;
            for (second = 0; ; second++) 
            {

                if (selenium.isElementPresent(element))
                {   
                    break;
                } 
                if (second >= 20)
                { 
                    break;
                }
                Thread.sleep(1000);
            }
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
  }

Прежде, чем сделать любую операцию с любым элементом просто называют этот метод для того элемента так, чтобы это ждало того элемента до достигнутого перерыва (т.е., 20 секунд), если тот элемент не будет найден.

Пример

waitforElement(selenium,"id=loginForm:username");
selenium.type("id=loginForm:username","username");
waitforElement(selenium,"id=loginForm:password");
selenium.type("id=loginForm:password","password");
selenium.click("submit");
0
добавлено
Для проверки selenium.isElementPresent (элемент) в том методе.
добавлено автор Santoshsarma, источник
этот doesn' t работа.: (
добавлено автор hybrid_18, источник
какова цель селена Селена параметра?
добавлено автор hybrid_18, источник
разве это не будет работать, если тот Параметр будет изменен?
добавлено автор hybrid_18, источник
QA — вакансии и аналитика рынка вакансий
QA — вакансии и аналитика рынка вакансий
5 668 участник(ов)

Вакансии и поиск работы в сфере QA. Вопросы: @qa_ru Про деньги: @qa_fin При размещении вакансии указывать: - должность - компанию - требования к кандидату - условия и ЗП хэштеги: #город #типзанятости

QA — русскоговорящее сообщество
QA — русскоговорящее сообщество
3 625 участник(ов)

Общаемся про все виды тестирования и его автоматизацию. Без мата, грубостей и провокаций. События: @qaevents Вакансии: @qa_jobs Автоматизаторы: @qa_automation Слухи про компании: @qa_bad_company

pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

QA juniors
QA juniors
2 720 участник(ов)

Добро пожаловать в чат джуниоров QA! Общаемся обо всём, что связано с тестированием и не только :) В чате царит дружественная атмосфера, поэтому общаемся без мата, грубостей. @qa_automation - автоматизация @serious_tester - для тестировщиков и QA

QA - Bad Company!
QA - Bad Company!
2 602 участник(ов)

Позитив и негатив про компании или курсы, куда не стоит идти работать или учиться, а куда стоит. За пиратский контент - бан. @qa_fin о деньгах Русскоговорящее сообщество: @qa_ru Флудилка: @qaFlood Вакансии: @qa_jobs Финансы: @qa_fin

QA — Автоматизация
QA — Автоматизация
2 434 участник(ов)

1. Обсуждение технологий автоматизированного тестирования 2. Помощь начинающим Ru-сообщество: @qa_ru Джуночат: @qajuniors Вакансии: @qa_jobs Финансы: @qa_fin Митапы и события: @qaevents Паблики: @serious_tester, @automation_remarks, @atinfo

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

QA - Finance
QA - Finance
1 347 участник(ов)

Чат о деньгах тестировщиков. ЗП, релокейты,оферы. @qa_bad_company - обсуждение компаний/курсов и карьерного роста для QA @qa_automation - авто QA Холивары, политика, религия-бан Реклама, спам, оскорбления - бан Для флуда используйте другой чат

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async