第九期_Appium 实战_20190601

参考连接

变化内容

  • 定位符发生变化 需要支持多平台
  • 操作流程可能会发生
  • 多平台
  • 变量化

抽象原则

  • 抽离变化部分, android与ios,页面一致,使用同一个数据文件维护。小程序、h5、web差别很大,独立封装为不同的数据文件
  • 封装层次不要太深

数据格式

数据驱动

    def load(self, path, method, **params):
        print(stack()[1][3])
        steps=[]
        with open(path) as f:
            steps=yaml.safe_load(f)
        for step in steps[method]:

            if(dict(step).keys().__contains__("action")==False):
                if(step['by']=="text"):
                    self.findByText(step['value']).click()
                else:
                    self.driver.find_element(by=step['by'], value=step['value']).click()
            else:
                action=str(step['action'])
                for k, v in params.items():
                    action = action.replace("$%s" % k, v)
                self.driver.find_element(by=step['by'], value=step['value']).send_keys(action)

测试实战

  • 数据驱动封装 完成时间 2019-06-01 10:49:36