Я попытался автоматизировать вход в систему с помощью Katalon Studio и Selenium|testNG. Я использовал файл XML для отправки значения браузера в скрипт, который я вставил сюда.
public class TC_Testportal {
private WebDriver driver;
private String baseUrl;
@Parameters("browser")
@BeforeMethod
public void beforeMethod(String browser) {
if (browser.equals("firefox")) {
System.setProperty("webdriver.gecko.driver", "drivers\\geckodriver.exe");
driver = new FirefoxDriver();
baseUrl = "https://test.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
} else if (browser.equals("chrome")) {
System.setProperty("webdriver.chrome.driver", "drivers\\chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "https://test.com";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
}
@Test
public void tc001() {
driver.get(baseUrl);
//Empty user-name|password validation
driver.findElement(By.xpath("//input[@id='username']")).click();
driver.findElement(By.xpath("//input[@id='username']")).clear();
driver.findElement(By.xpath("//input[@id='username']")).sendKeys("");
driver.findElement(By.xpath("//input[@id='userpassword']")).click();
driver.findElement(By.xpath("//input[@id='userpassword']")).clear();
driver.findElement(By.xpath("//input[@id='userpassword']")).sendKeys("");
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='SIGN IN'])[1]/following::div[2]")).click();
System.out.println("Empty user-name|password validation - CHECKED");
//Empty password validation
driver.findElement(By.xpath("//input[@id='username']")).click();
driver.findElement(By.xpath("//input[@id='username']")).clear();
driver.findElement(By.xpath("//input[@id='username']")).sendKeys("test");
driver.findElement(By.xpath("//input[@id='userpassword']")).click();
driver.findElement(By.xpath("//input[@id='userpassword']")).clear();
driver.findElement(By.xpath("//input[@id='userpassword']")).sendKeys("");
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='SIGN IN'])[1]/following::button[1]")).click();
System.out.println("Empty password validation - CHECKED");
//Empty user-name validation
driver.findElement(By.xpath("//input[@id='username']")).click();
driver.findElement(By.xpath("//input[@id='username']")).clear();
driver.findElement(By.xpath("//input[@id='username']")).sendKeys("");
driver.findElement(By.xpath("//input[@id='userpassword']")).click();
driver.findElement(By.xpath("//input[@id='userpassword']")).clear();
driver.findElement(By.xpath("//input[@id='userpassword']")).sendKeys("123");
driver.findElement(By.xpath("(.//*[normalize-space(text()) and normalize-space(.)='SIGN IN'])[1]/following::div[2]")).click();
System.out.println("Empty user-name validation - CHECKED");
}
@AfterMethod
public void afterMethod() {
driver.quit();
}
}
Я просто хотел знать, будет ли моя конструкция кода принята индустрией контроля качества, поскольку я новичок в автоматизации тестирования. А также, если это не в допустимом диапазоне, я был бы очень признателен, если бы вы могли дать мне рекомендации по улучшению моих знаний.
Любые советы/предложения, связанные с построением кода/качеством кода/именованием параметров/нумерацией тестовых наборов и т. д., будут высоко оценены.