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

Программирование на Python для тестировщиков
онлайн, начало 18 октября
Логи как инструмент тестировщика
онлайн, начало 21 октября
Тестирование REST API
онлайн, начало 21 октября
Организация автоматизированного тестирования
онлайн, начало 18 октября
Фотография

Добавить в цикл переменну и это значение в sendkeys


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 QAjuniorHACKER

QAjuniorHACKER

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 14 Февраль 2019 - 07:48

Привет друзья!

Изучаю Джаву и селениум, подскажите пожалуйста, хочу в поле логина и пароля ввести значения от -1 до 10000 например

 делаю такой код - не получается

 

подскажите пожалуйста!Мне же надо проверить все значения на длину и граничные значения

public void userLogin() {

for (int storedVal = 0; storedVal < 3; storedVal++)
String storedVal = RandomStringUtils.random(10, 0, 9, false, true, "1234578752".toCharArray());
System.out.println(storedVal);

WebElement loginField = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/aside/div/div[2]/div[2]/form/div[1]/div/input"));
loginField.sendKeys(storedVal);
WebElement passwordField = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/aside/div/div[2]/div[2]/form/div[2]/div/input"));
passwordField.sendKeys("parol");
WebElement loginButton = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/aside/div/div[2]/div[2]/form/div[3]/button"));
loginButton.click();

 


  • 0

#2 QAjuniorHACKER

QAjuniorHACKER

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 14 Февраль 2019 - 07:59

пробуютак-

public void userLogin() {

for (int storedVal = 0; storedVal < 9; storedVal++)
System.out.println(storedVal);

WebElement loginField = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/aside/div/div[2]/div[2]/form/div[1]/div/input"));
loginField.sendKeys(storedVal);

в сендкейсе переменная горит красненькая((

for (int storedVal = 0; storedVal < 9; storedVal++)
System.out.println(storedVal);
String storedVal = "1";
WebElement loginField = driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[2]/aside/div/div[2]/div[2]/form/div[1]/div/input"));
loginField.sendKeys(storedVal);

или так????


  • 0

#3 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 14 Февраль 2019 - 09:59

На текстовое значение длиной -1 я бы посмотрела. :)
 
for (int storedVal = 0; storedVal < 9; storedVal++)
System.out.println(storedVal);
 
Это означает: начиная со значения storedVal  = 0 и пока storedVal < 9 - выполнять System.out.println(storedVal), после каждого прохода увеличивать значение переменной (storedVal++).

При этом storedVal - локальная переменная этого цикла, вне for'а её не существует, поэтому sendKeys знать не знает, что это и откуда это взять.

 

Соответственно, из первого поста:

 

for (int storedVal = 0; storedVal < 3; storedVal++)
String storedVal = RandomStringUtils.random(10, 0, 9, false, true, "1234578752".toCharArray());
System.out.println(storedVal);

 

Почти тоже самое, только ещё кривее. Вы говорите, что у Вас есть переменная storedVal типа int, по которой идёт цикл (см.выше), но в самом цикле говорите, что нужна еще одна переменная с тем же названием storedVal, но типом String (это в принципе неправильно). Если измените название переменной - тоже получится ерунда. Просто x раз (в  данном случае - 3 раза) будет заново генерироваться рандомная строка. Зачем? Чем Вас не устраивает то, что сгенерировалось в первый раз?

 

Если хотите как-то использовать переменную вне цикла (в sendKeys, например), то её надо объявить ДО цикла, в цикле (в теле цикла) её изменить, после цикла - использовать. При этом для самого цикла будет другая переменная.

Например:

String storedVal = "";

for (int i= 0; i < 3; i++) {
       <тут как-то меняете значние storedVal>

}
System.out.println(storedVal);

 

Зачем Вам тут в принципе циклы, если Вы сразу всю строку радомную генерите - не понимаю.

 

п.с.: локаторы - тихий ужас.

п.п.с: значение второго куска кода во втором сообщении - вообще вне моего понимания, смотрится как просто бессмысленный набор команд, без какой либо логики и взаимосвязи. 

п.п.п.с: я бы на Вашем месте не стала мешать всё в одну кучу - сначала надо изучить хотя бы основы Java, а уже потом добавлять Selenium. Потому что в том, что Вы привели - селениума нет по сути, все проблемы именно из-за незнания ЯП.


  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

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