Как ввести другой адрес электронной почты при автоматизации страницы регистрации? - PullRequest
0 голосов
/ 08 сентября 2018

Я создаю сценарий автоматизации с использованием Selenium WebDriver для автоматизации формы регистрации, и я хочу запустить сценарий несколько раз, поэтому каждый раз, когда я хочу, чтобы сценарий вводил разные адреса электронной почты.

Я не выбираю данные из таблиц Excel или базы данных, а хочу, чтобы метод выполнял эту работу. Пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать механизм TestNG DataProvider. Пожалуйста, смотрите код ниже:

Сначала создайте метод, аннотированный @ataProvider, например:

public class Data {
  @Test 
  @DataProvider(name="email")
  public Object[][] getData() {
    return new Object[][]
      {
        {"usrname1","pass1"},
        {"usrname2","pass2"},
      };
  }
}  
                                                                                                       Then, in the TestNG Class add:
@Test(dataProvider="email",dataProviderClass=Data.class)
public void signUp(String username,String pass) throws InterruptedException {
    driver.findElement(By.xpath("put here the xpath of username field']")).sendKeys(username);
    driver.findElement(By.xpath("put xpath of passord field ]")).sendKeys(pass);
    Thread.sleep(1000);//i
    driver.findElement(By.xpath("xpath of login button")).click();
    driver.findElement(By.xpath("xpath of logout button")).click();

@DataProvider предоставит все аргументы методу, аннотированному @Test, который его использует, поэтому в этом конкретном случае можно увидеть, что аргументы username и pass примут "usrname1" и "pass1" на первой итерации теста, а затем "usrname2" и "pass2" на второй итерации.

...