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

发布时间 2023-06-08 19:02:23作者: T-Better

如何实现一个函数读取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