工业级硒Webdrive模板

时间:2018-08-20 11:09:27

标签: java selenium-webdriver

我最近开始学习有关Selenium WebDriver的知识,并且已经从不同的来源学到了很多东西,但是我对干净/专业级的脚本应该是什么样子以及如何看起来并不了解。内容要写。

这是我作为测试创建的登录示例,我可以更改什么?

package Facebook;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class Login {

    WebDriver driver = new ChromeDriver();

    public void login() throws InterruptedException
    {
        driver.get("http://www.facebook.com");
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        WebElement user = driver.findElement(By.id("email"));
        WebElement password = driver.findElement(By.id("pass"));
        user.sendKeys("user_test");
        password.sendKeys("password_test");
        Thread.sleep(3000);
        user.clear();
        password.clear();

        WebElement submit = driver.findElement(By.id("u_0_u"));

        if(submit.isDisplayed())
        {
            System.out.println("\u001B31;1m Succes");
        }
        else
        {
            System.out.println("\u001B31;2m Fail");
        }
    }

    public static void main(String[] args) throws InterruptedException {
        Login obj = new Login();
        obj.login();
    }
}

1 个答案:

答案 0 :(得分:2)

您应该花一些时间来了解页面对象模型。如果您要构建多个测试,这将极大地促进组织工作,保持代码干净并减轻维护负担。

避免Thread.sleep()和隐式等待。而是选择WebDriverWait

不要编写您自己的日志记录/报告。而是使用JUnit或TestNG。它们已经建立良好,不仅可以记录日志,而且可以处理测试,执行,报告等的组织,从而为您节省大量时间。

注意:请谨慎对待听起来像要求进行代码审查的SO问题。还有一个其他网站,http://codereview.stackexchange.com