Selenium TestNG один и тот же тест для разных размеров - PullRequest
0 голосов
/ 14 декабря 2018

можно ли выполнить один и тот же тест с использованием Selenium / TestNG / Java для окон браузера с разными размерами?Я думаю, что у меня есть решение, но я не хочу писать один и тот же код дважды, как этот:

@Test(priority = 0)
public void pc {
 driver.manage().window().maximize();
 "TheSameTestcode"
}

@Test(priority = 1)
public void smartphone {
 Dimension d = new Dimension(420,600);
 driver.manage().window().setSize(d);
 "TheSameTestcode"
}

Я увидел что-то, что подходит мне в C # / Nunit, и это выглядело примерно так (для ширины 1000px, 800px):

[TestFixture(1000)] 
[TestFixture(800)]     
[Test]
public void allDevices {
 "TheSameTestcode"
}

1 Ответ

0 голосов
/ 14 декабря 2018
class ReusableMethods{

public void setWindowSize(WebDriver driver,int x, int y){
  Dimension d = new Dimension(x,y);
  driver.manage().window().setSize(d);
}
public void sameCodeMethod(){
  "samecode here"
}
public boolean windowSizeAssertion(WebDriver driver, int x,int y){
  int height = dirver.manage().window().getHight();
  int width = dirver.manage().window().getWidth();
  if((height==x)&&(width==y)){
     return true;
  }
  else{
     return false;
  }

}
}

class TestNGTest extends ReusableMethods{
@Test(priority = 0)
public void pc {
  driver.manage().window().maximize();
  samecodeMethod();
}

    @Test(priority = 1)
    public void smartphone {
      setWindowSize(driver,100,200);
      samecodeMethod();
      Asset.assertTrue(windowSizeAssertion(driver,100,200));
    }

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...