测试相关

Selenium+TestNG实战-6 自动化实现发一篇文章

前面我们实现了基本框架的搭建过程,把第一条自动化登录的脚本进行了业务Action和测试脚本进行分层或者分离,使用了POM思想去构造首页,测试类利用工厂类进行元素初始化操作。群里有朋友提醒,在第五篇中HomePage.java每个方法可以不用写返回类型,建议全部改成void,这个确实正确,因为测试脚本类使用了PageFactory类,所以页面类不需要返回方法。如果要写返回方法,测试类不使用PageF

前面我们实现了基本框架的搭建过程,把第一条自动化登录的脚本进行了业务Action和测试脚本进行分层或者分离,使用了POM思想去构造首页,测试类利用工厂类进行元素初始化操作。群里有朋友提醒,在第五篇中HomePage.java每个方法可以不用写返回类型,建议全部改成void,这个确实正确,因为测试脚本类使用了PageFactory类,所以页面类不需要返回方法。如果要写返回方法,测试类不使用PageFactory类,而是直接把每个页面类先创建一个实例对象,然后去调用实例方法。所以,这里我们采用页面工厂类,记得把前面return方法改成void。本篇来介绍如何把发文章这个用例自动化实现。

 

声明:本文由凯哥Java(www.kaigejava.com)发布于凯哥个人博客。

在本文末尾,凯哥会添加前五篇文章链接,方便大家阅读。

测试用例步骤

1. 登录

2. 登录后点击文章tab

3. 点击写文章label

4. 输入标题

5. 输入文章正文部分

6. 右侧点击发布按钮

7. 检查发布后文章是不是自己之前创建的文章

 下面我们继续利用POM思想,来组织我们页面对象和页面元素。文章这个tab下还有4个页面:所有文章,写文章,分类目录,标签。这里我们在pageobjects包下新建一个article的包,在article包下新建一个writearticle和allarticle两个包。然后在writearticle包下新建一个NewArticle.java文件,开始写我们页面元素和发文章相关方法构造。这里,大家注意到了,左侧是一些公共菜单栏,我们可以把这个写成一个菜单导航页面。


MenuNavigation.java内容如下

package pageobjects;


import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.support.FindBy;


import myframework.BasePage;


public class MenuNavigation extends BasePage {

/**

* 记住,新建一个页面类,就里面写上构造方法

* @param driver

*/

public MenuNavigation(WebDriver driver) {

super(driver);

}

// 左侧文章菜单

@FindBy (xpath=".//*/div[@class='wp-menu-name' and text()='文章']")

WebElement Article_tab;

// 写文章

@FindBy (xpath=".//*/a[contains(@href,'post-new') and text()='写文章']")

WebElement Article_writeArticle_label;

// 所有文章 标签

@FindBy (xpath=".//*/a[@href='edit.php'][text()='所有文章']")

WebElement Article_AllArticles;

/**

* 点击左侧文章菜单

*/

public void clickArticle() {

click(Article_tab);

}

/**

* 点击左侧所有文章菜单

*/

public void clickAllArticle() {

click(Article_AllArticles);

}

/**

* 点击写文章

*/

public void clickNewArticle() {

click(Article_writeArticle_label);

}


}



NewArticle.java

package pageobjects.article.writeacticle;

原创不易,完成人机校验,阅读全文

相关推荐