selenium+java+testng分层设计(四)
来源:互联网 发布:mysql持久化 编辑:程序博客网 时间:2024/05/20 03:08
我使用到的主要就是page,action,testng包,还有一个basic包,可以用来存放一些常用的方法,比如一个查询系统可能会经常用到对下拉框的操作,对表数据的获取等,这些就可以专门写一个类存放在basic包中,以后使用时直接调用即可。
再补充个一点关于xml文件的使用,使用xml文件,可以实现数据和代码的分离,便于对测试数据的维护。
1.新建一个xml文件
2.还是在第四节的基础上,xml文件内容如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" ><suite name="suite1"><test name="test" preserve-order="true"><parameter name="url" value="http://123.57.56.45:7777/test/initLogin" /><parameter name="username" value="999999" /><parameter name="password" value="111111" /><classes ><class name="testng.test"><methods><include name="login" /> <include name="query_keys" /></methods></class></classes></test></suite>3.test类代码更新为:
package testng;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.testng.annotations.Parameters;import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annotations.AfterTest;import com.test.action.LoginAction;import com.test.action.QueryAction;public class test {LoginAction login = null;QueryAction query = null;WebDriver webdriver = new FirefoxDriver();//注意,一定要将该行放在此处, //如果放在beforeTest方法中会导致其他方法执行时报空指针异常@Parameters({"url"})@BeforeTestpublic void beforeTest(String url) {login = new LoginAction(webdriver);//初始化类webdriver.get(url);webdriver.manage().window().maximize();}@Parameters({"username,password"})@Test(priority=1)public void login(String username,String password)throws InterruptedException {//登录login.Login(username, password);}@Test(priority=2)public void query_keys() throws InterruptedException{ //查询界面按键测试query = new QueryAction(webdriver);//初始化类query.AppQueryButton();} @AfterTest public void afterTest() { webdriver.close(); }}4.其他类文件无需做任何更改,在eclipse左侧列表中选中testng.xml文件,右键,run as testng suite,即可运行该脚本。
2 0
- selenium+java+testng分层设计(四)
- selenium+java+testng分层设计(一)
- selenium+java+testng分层设计(二)
- selenium+java+testng分层设计(三)
- Selenium+java分层(四)
- Selenium+java分层(一)
- Selenium+java分层(二)
- Selenium+java分层(三)
- Selenium+java分层(五)
- Selenium+java分层(六)
- Selenium+java分层(七)
- 基于TestNG 与Selenium 的自动化测试设计与实施(四)
- selenium第一课(selenium+java+testNG+maven)
- Selenium-java-TestNg-的运行
- [selenium] selenium+java+testNG 显示等待
- [selenium] selenium+java+TestNG 自定义显示等待
- Web分层设计研究(四)
- Web分层设计研究(四)
- 最长公共子序列(DP + 滚动数组)
- bug宝典Python篇 Uninstalling setuptools-1.1.6:
- FZU 2214 Knapsack problem 01超大背包
- regex 正则表达式
- 簇的捆绑函数功能
- selenium+java+testng分层设计(四)
- 14:怪盗基德的滑翔翼
- 2016_4_16/G [codeforces] C
- 公共基础知识整理
- Gradle's dependency cache may be corrupt 解决办法
- poj3104(二分)
- 操作系统学习笔记(一)
- PAT 1001. 害死人不偿命的(3n+1)猜想 (15)
- JavaScript之内存和性能(事件)