标签:from write keyword 信息 pass cells self 实例 eth
import os base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 项目首路径 codeerror_path = os.path.join(base_dir,‘Image‘,‘codeerror.png‘) # 验证码错误图片路径 code_path = os.path.join(base_dir,‘Image‘,‘code.png‘) # 验证码图片保存路径 config_ini_dir = os.path.join(base_dir,‘setting_conf‘,‘localElement.ini‘) # localElement.ini 配置文件路径 report_path = os.path.join(base_dir,‘report‘,‘first_case.html‘) # 测试报告路径 excel_default_path = os.path.join(base_dir,‘ex_data‘,‘casedata.xls‘) # excel表默认路径 excel_keyword_path = os.path.join(base_dir,‘ex_data‘,‘keyword.xls‘) # excel表默认路径 setting.py
[RegisterElement] user_email=id>register_email user_email_error=id>register_email-error user_name=id>register_nickname user_name_error=id>register_nickname-error password=id>register_password password_error=id>register_password-error code_image=id>getcode_num code_text=id>captcha_code code_text_error=id>captcha_code-error register_button=id>register-btn
import os base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 项目首路径 codeerror_path = os.path.join(base_dir,‘Image‘,‘codeerror.png‘) # 验证码错误图片路径 code_path = os.path.join(base_dir,‘Image‘,‘code.png‘) # 验证码图片保存路径 config_ini_dir = os.path.join(base_dir,‘setting_conf‘,‘localElement.ini‘) # localElement.ini 配置文件路径 report_path = os.path.join(base_dir,‘report‘,‘first_case.html‘) # 测试报告路径 excel_default_path = os.path.join(base_dir,‘ex_data‘,‘casedata.xls‘) # excel表默认路径 excel_keyword_path = os.path.join(base_dir,‘ex_data‘,‘keyword.xls‘) # excel表默认路径 setting.py
4.1、find_element.py:查找目标元素,定位目标位置
find_element.py
4.2、register_page.py :操作find_element.py,获取各目标元素位置
register_page.py
4.3.1、get_code_value.py:解析验证码图片,获取验证码内容
get_code_value.py
register_handle.py
register_business.py
first_ddt_case.py
from util.excel_cell_value import Get_Cells_Value
from keyword_model.actionMethod import ActionMethod
from setting_conf import setting
class KeywordCase(object):
def __init__(self):
self.action_metood = ActionMethod()
excel_default_path = setting.excel_keyword_path
self.get_cell_value = Get_Cells_Value(excel_default_path) # 实例化
def run_main(self):
get_lines = self.get_cell_value.get_lines # 获取行数
if get_lines:
for i in range(1,get_lines):
is_run = self.get_cell_value.get_is_run(i)
if is_run == ‘yes‘:
carry_method = self.get_cell_value.get_action_method(i) # 获取执行方法
send_value = self.get_cell_value.get_send_value(i) # 获取输入的数据
oper_element = self.get_cell_value.get_oper_element(i) # 获取操作的元素
expect_result_mothod = self.get_cell_value.get_expect_result(i) # 获取预期结果
real_result_value = self.get_cell_value.get_real_result(i) # 获取表中实际要求结果值
self.run_method(carry_method,send_value,oper_element) # 执行excel表中对应指定的方法
if expect_result_mothod != ‘‘: # 预期结果有值
result_value = self.get_real_result_value(real_result_value)
if result_value[0] == ‘text‘: # url访问,获取网页title
result = self.run_method(expect_result_mothod) # expect_result_mothod:driver.get_title()方法
if result_value[1] in result: # 判断实际要求结果值是否存在于实际测试结果中
self.get_cell_value.write_cell_value(i,‘pass‘) # 在excel表中对应单元格写入数据
else:
self.get_cell_value.write_cell_value(i,‘fail‘)
elif result_value[0] == ‘element‘: # 获取元素,判断输入格式等
result = self.run_method(expect_result_mothod,result_value[1]) # expect_result_mothod:get_element()方法,result_value[1]:参数
if result: # 有值,表示找到对应(如:password_error)错误信息,表示格式测试通过(目的就是测试输入错误格式是否会被检查出来)
self.get_cell_value.write_cell_value(i,‘pass‘)
else:
self.get_cell_value.write_cell_value(i,‘fail‘)
else:
print("Error:实际要求结果:{},测试无效".format(real_result_value))
else:
print(‘第i条case:预期结果为空‘)
def run_method(self,method,send_value = ‘‘,handle_value = ‘‘):
main_method = getattr(self.action_metood,method)
if send_value == ‘‘ and handle_value == ‘‘:
result = main_method() # 关闭浏览器、等待等
elif send_value == ‘‘ and handle_value != ‘‘:
result = main_method(handle_value) # 打开浏览器、访问url等
elif send_value != ‘‘ and handle_value == ‘‘:
result = main_method(send_value) # 暂时没用到
else:
result = main_method(send_value,handle_value) # 输入用户信息
return result
# 对实际要求结果值进行切分(实际要求结果形似:text=注册)
def get_real_result_value(self, data):
return data.split(‘=‘)
if __name__ == "__main__":
keyword_case = KeywordCase()
keyword_case.run_main()
Selenium3与Python3实战 Web自动化测试框架(五)
标签:from write keyword 信息 pass cells self 实例 eth
原文地址:https://www.cnblogs.com/fujunjie/p/13160692.html