zoukankan      html  css  js  c++  java
  • [原创]Juint4 + WebDriver 搭建自动化测试框架

    本例中用百度的搜索为例,将百度首页定义成一个待测试类 HomePage

    public class HomePage {
    private WebDriver driver;
    
    @FindBy(how = How.NAME, using = "wd")
    public static WebElement serchInputbox;
    
    @FindBy(how = How.ID, using = "su")
    public static WebElement serchBtn;
    
    @FindBy(how = How.ID, using = "container")
    public static WebElement serchResult;
    
    public HomePage(WebDriver driver) {
        this.driver = driver;
        ElementLocatorFactory finder = new AjaxElementLocatorFactory(driver,
                120);
        PageFactory.initElements(finder, this);
    
    }
    
    public void enterSerchTxt(String serchTxt) {
        serchInputbox.clear();
        serchInputbox.sendKeys(serchTxt);
    }
    
    public void clickSerchButton() {
        serchBtn.click();
    }
    
    public void checkResult() {
        assertEquals(serchResult.isDisplayed(), true);
    }
    } 

    上面的构造函数中用到了 PageFactory 这个三方类,另外定义了一些待测方法(测试用例中的小步骤)
    下面是对应于 HomePage 的测试类 homepageTest ,您可以在HomePage上右击新建 junit file ,选择 BeforeClass, Setup ...需要注意的是命名必须是以 Test 结尾。

    public class homepageTest {
    protected static WebDriver driver;
    
    @BeforeClass
    public static void beforeClass() throws Exception {
        driver = new InternetExplorerDriver();
    }
    
    @AfterClass
    public static void tearDownAfterClass() throws Exception {
        driver.quit();
    }
    
    @Before
    public void setUp() throws Exception {
        driver.get("http://www.baidu.com");
    }
    
    @After
    public void tearDown() throws Exception {
    }
    
    @Test
    public void testHomepage() {
        HomePage homepage = new HomePage(driver);
        homepage.enterSerchTxt("selenium");
        homepage.clickSerchButton();
        // maybe the net will delay, so wait for while
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        homepage.checkResult();
    }
    }

    @Test 里面便是测试用例,可以有多个 @Test。
    现在就可以编译下,run as --> junit test

    本文采用的 iedriver ,机器是64位的,会默认启动你的64位 ie(ie8分64和32位),如果您需要启32位 ie,则需要用32位的 jar 启动 selenium sever。

  • 相关阅读:
    jsoup
    【伪装位置神器】神行者AnyLocation 1.3.0001可用于微信,陌陌
    MD5 哈希等各种加密方式 都是对这个对象进行各种运算, 然后得出1个字符串
    【html】param 以及 embed 的有关 flash 属性详解
    【css】绝对定位的元素在 ie6 下不显示
    【javascript】浮点数运算问题分析及解决方法
    【jquery】邮箱自动补全 + 上下翻动
    【javascript】设为首页——setHome
    【javascript】js 检验密码强度
    【jquery】jquery 自定义滚动条
  • 原文地址:https://www.cnblogs.com/GGHHLL/p/3124097.html
Copyright © 2011-2022 走看看