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

digitorum21

Регистрация: 07 ноя 2015
Offline Активность: 13 ноя 2015 23:48
-----

Мои сообщения

В теме: Selenium ide Проблема

13 ноября 2015 - 23:51

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

driver.findElement(By.xpath("//button[1]")).click();

driver.findElement(By.xpath("//button[1]")).click();

В теме: Selenium ide Проблема

13 ноября 2015 - 10:45

Пробовал по разному

driver.findElement(By.xpath("//button[1]")).clear();

driver.findElement(By.xpath("//button")).click();

driver.findElement(By.className("md-button.md-submit.enter-target.md-raised.md-generic.ng-scope.waiting")).click();

по разному пробовал но selenium на button не жмет хотя ide справляется с этой задачей легко. может нужен что то типа import click для web-driver или active.


В теме: Selenium ide Проблема

12 ноября 2015 - 01:18

Проблему с полем email решил средствами selenium web driver , он в отличии от ide как я понял может очищать инпуты, но возникли проблемы с кликами на кнопки и чек боксы, Пишу потому, что может кто то когда то столкнется с такой проблемой 

package com.example.tests;

import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class TestRegistrationNixarPage1Page2 {
  private WebDriver driver;
  private String baseUrl;
  private boolean acceptNextAlert = true;
  private StringBuffer verificationErrors = new StringBuffer();

  @Before
  public void setUp() throws Exception {
    driver = new FirefoxDriver();
    baseUrl = "http://nixar.work:8080/#/login";
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
  }

  @Test
  public void testRegistrationNixarPage1Page2() throws Exception {
    driver.get("http://nixar.work:8080/#/login");
    driver.findElement(By.cssSelector("a")).click();
    driver.findElement(By.xpath("//input[1]")).clear();
    driver.findElement(By.xpath("//input[1]")).sendKeys("a.stegno77799980mbn@gmail.com");
    driver.findElement(By.cssSelector("input[name=\"password\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"password\"]")).sendKeys("Colourtest55555777999081mbn");
    driver.findElement(By.cssSelector("input[name=\"confirm\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"confirm\"]")).sendKeys("Colourtest55555777999081mbn");
    driver.findElement(By.xpath("//button[1]")).clear();
    driver.findElement(By.cssSelector("input[name=\"fullName\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"fullName\"]")).sendKeys("Dmitriybv Shevchenko77799906fnb81mbn");
    driver.findElement(By.cssSelector("input[name=\"companyName\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"companyName\"]")).sendKeys("asdgeny77799906fmbn");
    driver.findElement(By.cssSelector("input[name=\"domainName\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"domainName\"]")).sendKeys("http://genis777799906mbn.com");
    driver.findElement(By.cssSelector("input[name=\"phoneNumber\"]")).clear();
    driver.findElement(By.cssSelector("input[name=\"phoneNumber\"]")).sendKeys("+380 66 022 1189");
    driver.findElement(By.xpath("//md-checkbox[1]")).click();
    driver.findElement(By.xpath("//button[1]")).clear();
    // ERROR: Caught exception [unknown command []]
  }
  
 
 
}

Подскажите плыз как правильно прописать клик на кнопку и чек бокс в web driver.


В теме: Selenium ide Проблема

11 ноября 2015 - 20:08

Подскажите пожалуйста, я использовал //div[@title='Email and Password']/div/form/md-input-container[1]/input в качестве локатора формы email как это можно дополнить , например классами или type использовать , как правильно записать, что бы локатор получился более точным.


В теме: Selenium ide Проблема

11 ноября 2015 - 20:01

 

 

 

Duplicate key error. Говорит о том, что дублируется уникальное значение поля, т.е. в базе уже есть такое значение(имейл) и ты пытаешься ввести его ещё раз(проще говоря, нельзя зарегистрировать больше одного пользователя на один имейл). Как решение, тебе нужно либо удалять пользователя с этим имейлом из базы после прохождения теста, либо накатывать эталонный dump базы после прохождения теста. Остальные варианты , наверное, selenium ide можно не рассматривать.

Даже если изменить на email которого нет в базе регистрация, не проходит, проходит если в поле email ввести данные руками , просто изменить те данные которые вписаны в форму или очистить форму и ввести данные, а через selenium новые данные не проходят.
У тебя два раза выполняются действия в одной форме. В первой отправляешь форму в базу, а на второй тебе выдаёт duplicate key error судя по логу? Из - за того , что второй раз регишь на тот же имейл

 

я так понимаю, что когда я ввожу данные в email а потом в другой инпут то данные из другого инпута попадают в email, это предположение но я пытался по разному инициализировать email и по type и по классам все равно не проходит, только по текущему id, если взять текущий id input email и использовать его в selenium то регистрация пройдет.

 

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