首页 > 其他 > 详细

RF自动化测试之元素封装

时间:2019-07-25 11:12:10      阅读:177      评论:0      收藏:0      [点我收藏+]

自动化测试均需要遵循由点到面的规则,然而对于UI自动化,点是最容易发生变化的,如果使用硬链接,那么每次元素的修改都必须修改代码,这对于代码功底薄弱的测试工程师来说,是较为困难的,所以自动化测试需要对底层基本元素进行封装

1、首先就是元素的获取方式

我推荐使用CSV的文件格式对元素进行存储和维护,并给每个元素起个别名,这样之后元素维护只需要修改CSV表中具体的元素的,可简化维护工作,CSV文件内的格式如下:

模块名称,自定义的元素名称,元素定位信息,描述
Login&Register,login_label_text,btn_Login,"""我的""页面登录/注册按钮"
Login&Register,login_phone_input,et_phone_2412,登录手机号输入框

读取csv文件的方法如下

import csv    
def read_csv(self,data_path):
        with open(data_path, "r", encoding=utf-8) as csvfile:
            reader = csv.DictReader(csvfile)
            sheet_data = {}
            for line in reader:
                sheet_data[line["自定义的元素名称"]] = line["元素定位信息"]
            # print(sheet_data.__len__())
            return sheet_data

2、完整代码如下

import csv

class GetIdentify(object):

    def return_identify(self, os_name, ele_name,ele_path):
        print(进入程序,ele_name:)
        print(ele_name)
        # ele_path="D:\\Study\\xxx\\xxxxx\\"
        android_dic = GetIdentify().read_csv(ele_path+Android_Element.csv)   #必须填入绝对路径
        ios_dic = GetIdentify().read_csv(ele_path+IOS_Element.csv)   #必须填入绝对路径
        if os_name.lower() == android:
            re_id = android_dic.get(ele_name)
            print(re_id)
            return re_id
        elif os_name.lower() == ios:
            re_id = ios_dic.get(ele_name)
            print(re_id)
            return re_id

    def read_csv(self,data_path):
        with open(data_path, "r", encoding=utf-8) as csvfile:
            reader = csv.DictReader(csvfile)
            sheet_data = {}
            for line in reader:
                sheet_data[line["自定义的元素名称"]] = line["元素定位信息"]
            # print(sheet_data.__len__())
            return sheet_data

if __name__ == __main__:
    os_name="android"    #调试用代码
    ele_name=POI_travelpage_findcar
    ss1=GetIdentify()
    ss1.return_identify(os_name,ele_name)

 

RF自动化测试之元素封装

原文:https://www.cnblogs.com/bestwei/p/11242889.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!