Форум программистов, компьютерный форум, киберфорум
Java: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
5 / 3 / 0
Регистрация: 22.09.2019
Сообщений: 111

Элемент не успевает загрузиться на страницу

08.12.2021, 21:34. Показов 1331. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я работаю с автотестами и веб-драйвером, и моя проблема в том, что элемент не успевает загружаться, хотя я добавил явное и неявное ожидание, мне действительно нужна ваша помощь, потому что я в ступоре.
Класс с тестами
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package test;
 
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.*;
import pages.HomePage;
import pages.LoginPage;
import java.util.concurrent.TimeUnit;
 
 
public class HelloWebDriver {
 
    private WebDriver driver;
    private ChromeOptions options;
    private LoginPage loginPageObj;
    private HomePage homePage;
    private WebDriverWait wait;
 
    @Before
    public void browserSetup() {
        System.out.println("aaa");
        options = new ChromeOptions();
        options.setPageLoadStrategy(PageLoadStrategy.NONE);
        options.addArguments("start-maximized");
        options.addArguments("disable-infobars");
        driver = new ChromeDriver(options);
        driver.manage().timeouts().implicitlyWait(5000,
                TimeUnit.MILLISECONDS);
        driver.manage().timeouts().pageLoadTimeout(5000,
                TimeUnit.MILLISECONDS);
        driver.manage().timeouts().setScriptTimeout(5000,
                TimeUnit.MILLISECONDS);
        driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
 
        System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
        driver.get("https://junior.webquik.ru/");
        wait = new WebDriverWait(driver,10);
    }
    @org.junit.Test
    public  void signIntoSystem() throws InterruptedException {
 
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.id("textfield-1015-inputEl")));
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.id("textfield-1017-inputEl")));
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.id("button-1021-btnIconEl")));
        loginPageObj = new LoginPage(driver);
 
        loginPageObj.singIntoSystemAsUser("U0191767","06258");
        Assert.assertEquals(driver.getTitle(),"webQUIK 7.6.2");
    }
 
    @org.junit.Test
    public  void createNewTicketWithLimits() throws InterruptedException {
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.xpath("//*[@id=\"textfield-1015-inputEl\"]")));
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.xpath("//*[@id=\"textfield-1017-inputEl\"]")));
        wait.until(ExpectedConditions.presenceOfElementLocated
                (By.xpath("//*[@id=\"button-1021-btnIconEl\"]")));
        loginPageObj = new LoginPage(driver);
        loginPageObj.singIntoSystemAsUser("U0191767","06258");
 
        Thread.sleep(5000);
        Assert.assertEquals(driver.getTitle(),"webQUIK 7.6.2");
 
        homePage.createNewTicketWithlimits("CNYRUB_SPT","5","1");
    }
    @Test
    public  void createNewTicketWithMarketablePrice() throws InterruptedException {
        Thread.sleep(5000);
        loginPageObj.singIntoSystemAsUser("U0191767","06258");
 
        Thread.sleep(5000);
        Assert.assertEquals(driver.getTitle(),"webQUIK 7.6.2");
 
        homePage.createNewTicketWithMarket("CHMF","5");
    }
    @After
    public void closeBrowser() {
        driver.quit();
        driver = null;
    }
}
LoginPage
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class LoginPage {
    private WebDriver driver = new ChromeDriver();
    private WebElement loginFiled = driver.findElement(By.id("textfield-1015-inputEl"));
    private WebElement passwordField = driver.findElement(By.id("textfield-1017-inputEl"));
    private WebElement signButton = driver.findElement(By.id("button-1021-btnIconEl"));
/*
    @FindBy(xpath = "//*[@id=\"textfield-1015-inputEl\"]")
    private WebElement loginFiled;
 
    @FindBy(xpath = "//*[@id=\"textfield-1017-inputEl\"]")
    private WebElement passwordField;
 
    @FindBy(xpath = "//*[@id=\"button-1021-btnIconEl\"]")
    private WebElement signButton;
*/
    public LoginPage(WebDriver driver) {
        this.driver=driver;
 
       // PageFactory.initElements(driver, this);
    }
 
    public void singIntoSystemAsUser(String login,String password) {
            loginFiled.sendKeys(login);
            passwordField.sendKeys(password);
            signButton.click();
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.12.2021, 21:34
Ответы с готовыми решениями:

Один из скриптов не успевает загрузиться
var d = document.getElementsByTagName('head'), s = document.createElement('script'), f = document.createElement('script'), m =...

Пиксель фейсбука не успевает зафиксировать страницу-прокладку
Всем приветик! Суть такова: на сайте есть форма, которую заполняет посетитель и после нажатия на Submit данные отправляются мне на...

Сделайте страницу. Человек может набрать URL. Должна загрузиться страница
Сделайте страницу на которой присутствует поле ввода и кнопка. Человек может набрать URL в поле ввода и нажать кнопку. Должна загрузиться...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.12.2021, 21:34
Помогаю со студенческими работами здесь

Элемент не влезает на страницу
Добрый день. Есть таблица - широкая. Она на экране моего компьютера не влезает на страницу, и поэтому снизу появляется горизонтальный...

Не добавляется элемент на страницу
var a = document.getElementsByClassName('ArrayColor'); function addcolums() { var b = a; var c =...

Не успевает прорисовываться
Был код: document.getElementById('thisTraining').innerHTML = html ; // вставка кода html listenerOnSavebatton(); ...

Не успевает отрисоваться панель
Здравствуйте. На форме есть кнопка по нажатии на которую происходит запуск очень многих потоков, подключения к БД, множественные выводы...

Отчет не успевает отработать
В отчете есть поле и "в нем" прописано ="Отд № " & !! & ". Дата " & !! Открытие отчета осуществляется: Private Sub...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru