前言
在上篇里面我们获取了接口权限的excel表格,点击这里查看内容。接下来,我们需要做的就是把权限添加进去。添加的权限的方法有很多种,从测试的角度来说,从页面和接口层面都是比较好实现的(因为测试会接触到接口测试和UI自动化测试)。
因为我们的权限存在层级关系,从接口去添加的时候,我们需要获取父级id,再去添加,稍稍麻烦一点,所以我这里选择的是通过UI层面去添加,相对来说好实现一点,和我们手动去添加是一样的操作,唯一的区别就是是通过代码自动执行完成的。本文将使用java语言+selenium来实现添加功能。
(选UI的还有一个原因就是调试代码的时候,可以不产生脏数据,只要我不去点确定,就不会生成测试数据)
一、代码目录结构的创建
因为用UI自动化的方式实现添加,所以代码是基于PO思想的。整个框架的实现和UI自动化其实差不多,UI自动化是用TestNG来管理用例,这里我依旧使用TestNG来执行操作。
下面是整个目录的结构:
- commons下面的两个base类一个是用于包装元素等待的方法,另一个是包装了游览器的设置以及游览器的操作的方法(比如打开url,最大化窗口,关闭浏览器等)。
- contants里面是一个常量类,定义一些常量、url地址和文件地址(比如excel的文件地址)。
- pageobject是放页面对象类的,因为是以PO思想来设计框架的,所以页面元素的定位是定义在这里面的。
- pojo和utils的作用是为了读取excel的数据而存在的,这里我们读取excel的数据使用的是easypoi,比poi读取数据更简单。
- workflow里面的方法是每个操作的流程,虽然我们是添加权限这一个功能,但实际上,在添加之前,我们需要登录系统,进入对应的页面等操作(这里我做了简化,进入页面这个我直接从登录的时候直接跳转过去的,所以上图EnterPlatformFlow后来没有用上)。
- execute字面上来看就知道是最后的执行入口了
二、Base类
这里我们具体看下两个Base类的代码:
public class BaseFlow {
//这里封装了显示等待中的元素可见
public WebElement isVisible(By by){
WebDriverWait wait = new WebDriverWait(BaseAction.webDriver, 15);
return wait.until(ExpectedConditions.visibilityOfElementLocated(by));
}
//这里封装了显示等待中的元素可点击
public WebElement isClickable(By by){
WebDriverWait wait = new WebDriverWait(BaseAction.webDriver, 15);
return wait