首页 > 其他分享 >QA|如何实现一个函数读取1-9按钮?|网页计算器自动化测试实战

QA|如何实现一个函数读取1-9按钮?|网页计算器自动化测试实战

时间:2023-06-08 19:12:36浏览次数:43  
标签:digit 读取 self 计算器 driver QA 按钮 btn find

如何实现一个函数读取1-9按钮?

如何实现一个根据我们Json存的数字,自动选取对应按钮点击,并且点击对应算法?

首先我们肯定不能给每个元素都写一个函数吧,毕竟挺多,而且如果这样写了,那加减乘除都要分开测试,代码太冗余,此时我们发现数字按钮的定位ID都很类似,如下 

 

 于是我们可以写成格式化样式simple{},然后根据驱动数据传入的值,写到里面,但这样就不能用函数了,只能用字符串方式,写在init中,所以代码如下:

 

 1 class BasePage():
 2     """
 3     基类 用作初始化 封装常用操作
 4     """
 5 
 6     def __init__(self):
 7         """
 8         初始化driver
 9         """
10         self.driver = webdriver.Firefox()
11         self.calurl = r'http://cal.apple886.com/'
12         self.digit_btn = (By.ID, 'simple{}')
13         self.open_page()
basepage.py
 1 class CalElement(BasePage):
 2     """
 3     封装各种元素对象:清屏、加、减、乘、除、等于
 4     """
 5 
 6     def get_result(self):
 7         """计算 结果"""
 8         res = self.driver.find_element(By.ID,'resultIpt')
 9         print(res.get_attribute('value'))
10 
11     def find_digit_btn(self, num):
12         """定位数字按钮"""
13         self.driver.find_element(self.digit_btn[0], self.digit_btn[1].format(num))
View Code

这样就解决问题了

 

----------------------------------------------------------------
完整源码见:https://github.com/T-Better/SoftTest

 

标签:digit,读取,self,计算器,driver,QA,按钮,btn,find
From: https://www.cnblogs.com/T-Better/p/17467400.html

相关文章

  • java jxl创建/读取/修改Excel 操作Excel
    创建Excelpackagetest1;importjava.io.File;importjava.io.IOException;importjxl.Workbook;importjxl.write.Label;importjxl.write.WritableSheet;importjxl.write.WritableWorkbook;importjxl.write.WriteException;importjxl.writ......
  • spark on yarn 读取hdfs文件报错
    前提读取的文件已经put到hdfs上了,还是报错,仔细想想,为什么两个读取文件只报后面那个读取文件不存在呢?看代码,是读取的方式不同,前面一个是通过sparkcontext读取,后面是file,所以情况应该是只有通过spark生成的对象sc读取才可以,带着这个思路,修改代码,才运行成功。JavaRDD<String>linesR......
  • 通过读取字节内容分析对象在内存中的布局
    在《如何计算一个实例占用多少内存?》中我们知道一个值类型或者引用类型的实例在内存中占多少字节。如果我们知道这段连续的字节序列的初始地址,我们就能够将代表该实例的字节内容读取出来。在接下来的内容中,我们将利用一个简单的方法输出指定实例的字节序列,并此次分析值类型和引用......
  • QA|重写了元素定位后报错xx object has no attribute 'find_element'|网页计算器自动
    代码如下:1#basepage.py23fromseleniumimportwebdriver456classBasePage():7"""8基类用作初始化封装常用操作9"""1011def__init__(self):12"""13初始化driver14......
  • QA
    1.驱动程序入口函数的_init _exit起什么作用点击查看代码int__inits3c2410fb_init(void){ returnret;}staticvoid__exits3c2410fb_cleanup(void){}2.分配显存时也可以用vmalloc函数?答:不可以,显存要要保证物理地址连续,vmalloc函数分配的内存可以保证虚拟地......
  • 文件读取顺序差异
    Linux(Ubuntu):Windows:......
  • Java中使用POI读取大的Excel文件或者输入流时发生out of memory异常参考解决方案
     使用ExcelStreamingReader,这个第三方工具会把一部分的行(可以设置)缓存到内存中,在迭代时不断加载行到内存中,而不是一次性的加载所有记录到内存,这样就可以不断的读取excel内容并且不影响内存的使用。  但是这个工具也有一定的限制:只能用于读取excel的内容,写入操作不可用;可以使......
  • 读取FTP文件,并打包成压缩包下载
    importjava.io.*;importjava.net.SocketException;importjava.net.URLEncoder;importjava.util.List;importjava.util.zip.ZipEntry;importjava.util.zip.ZipOutputStream;importorg.apache.commons.net.ftp.FTPClient;importorg.apache.commons.net.ftp.FTPF......
  • Python写文件时加锁,避免写入过程中被读取
    问题:Linux上有个Python2脚本每天定时生成一些数据,并覆盖写入文件A,文件内容是每行一个Json字符串。有一个乙方的采集器程序(类似filebeat)需要读取文件A,但发现读取的数据有截断,导致解析失败。怀疑是因为采集器读取文件A的时候,文件A写入还未结束。解决:由于采集器程序是乙方自研的,属......
  • C# 读取txt文本数据
    publicstaticList<string>GetTxtInfo(stringFilePath,refstringerrMsg){List<string>result=newList<string>();stringpath=FilePath;if(File.Exists(path)){File......