python自动化测试关键字驱动_UI自动化测试框架之Selenium关键字驱动 (转)

本文详细介绍了使用Python实现Selenium关键字驱动的UI自动化测试框架。通过关键字驱动,将测试逻辑分解到数据文件中,利用Java反射机制实现测试步骤的执行。文章覆盖了框架的构造,包括脚本编写、使用Excel作为数据源、操作Excel的工具类、ActionKeyWords类的创建以及代码结构优化,最后还涉及了测试场景和结果的管理。
摘要由CSDN通过智能技术生成

一、原理及特点

1.   关键字驱动测试是数据驱动测试的一种改进类型

2.    主要关键字包括三类:被操作对象(Item)、操作(Operation)和值(value),用面向对象形式可将其表现为Item.Operation(Value)

3.   将测试逻辑按照这些关键字进行分解,形成数据文件。

4.    用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化

二、准备

使用工具:eclipse

用到的第三方jar包:poi.jar(操作excel);selenium.jar

理解难点:java反射机制;逐步分层

三、框架构思

1、编写脚本

首先我们来写一个登陆开源中国的脚本

public class Login_Script {

public static WebDriver driver=null;

public static void main(String []agrs) throws InterruptedException{

//                启动火狐浏览器

driver= new FirefoxDriver();

//                最大化

driver.manage().window().maximize();

//                打开开源中国网址

driver.get("http://www.oschina.net/");

//                点击登录

driver.findElement(By.xpath("//*[@id='OSC_Userbar']/a[1]")).click();

//                输入用户名

driver.findElement(By.xpath("//*[@id='f_email']")).sendKeys("XXXXXXB");

//                输入密码

driver.findElement(By.xpath("//*[@id='f_pwd']")).sendKeys("XXXXXXXA");

//                点击登录按钮

//                driver.findElement(By.xpath("//*[@id='login_osc']/table/tbody/tr[7]/td/input")).click();

//                Thread.sleep(30);

//                点击退出按钮

driver.findElement(By.xpath("//*[@id='OSC_Userbar']/a[3]")).click();

//                关闭浏览器

driver.quit();

}

}

2、脚本分析

这是登陆的场景

操作步骤

第一步:启动浏览器

第二步:输入网址

第四步:点击登录

第五步:输入用户名

第六步:输入密码

第七步:点击登录按钮

第八步:点击退出

第九步:关闭浏览器

3、使用excel

建立一个excel

在java中创建一个操作excel的类 ,主要实现是对excel的读和写,主要代码如下:

public class ExcelUtils {

public static HSSFSheet ExcelSheet;

public static HSSFWorkbook    ExcelBook;

public static HSSFRow Row;

public static HSSFCell    Cell;

public static void setExcelFile(String Path,String    SheetName) throws Exception{

FileInputStream    ExcelFile=new FileInputStream(Path);

ExcelBook=new HSSFWorkbook(ExcelFile);

ExcelSheet=ExcelBook.getSheet(SheetName);

}

public static void setCellData(String Result,  int RowNum, int ColNum,String Path) throws Exception{

Row  = ExcelSheet.getRow(RowNum);

Cell = Row.getCell(ColNum, Row.RETURN_BLANK_AS_NU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值