自动化添加接口权限-下篇

本文使用Java和Selenium实现接口权限的自动化添加,通过UI自动化模拟手动操作,介绍了代码目录结构、Base类和Execute中的执行方法。选择UI自动化是因为避免产生脏数据,并且方便调试。虽然接口层面执行速度更快,但需要准备接口所需的参数数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

在上篇里面我们获取了接口权限的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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值