appium数据配置和数据驱动例子 _byseyOrd
使用yaml格式文件进行数据配置
1)安装yaml, 使用pip install yaml
2)新建yaml文件
platformName: Android platformVersion: 4.4.2 deviceName: 127.0.0.1:62001 appPackage: com.tal.kaoyan appActivity: com.tal.kaoyan.ui.activity.SplashActivity noReset: False ip: 127.0.0.1 port: 4723 noSign: Ture appname: kaoyan3.1.0.apk
3)使用yaml的读取方法
import yaml with open('../config/kyb_caps.yaml', 'r', encoding='utf-8') as file: data = yaml.load(file, Loader=yaml.FullLoader) data['platformName'] driver = webdriver.Remote('http://' + str(data['ip']) + ':' + str(data['port']) + '/wd/hub', desired_caps)
使用CSV格式文件进行数据配置
1)新建csv文件
No,username,password 1,apple,pwd123 2,kekdi,pwd123 3,dhhfs,pwd123 4,dasnf,pwd123
2)使用Python的dictReader进行数据读取
def get_csv_data(self, csv_file, line): with open(csv_file, encoding='utf-8-sig') as f: f_csv = csv.DictReader(f) for row in f_csv: print(row['No']) if (row['No'] == str(line)): print(row['username'], row['password']) return row['username'], row['password']
使用json文件和ddt进行数据配置和数据驱动
1)新建json文件
[ "demon||demon", "laoh||laoh" ]
2)使用ddt读取和python方法获取
import ddt import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys @ddt.ddt class TestCase(unittest.TestCase): def setup(self): self.driver = webdriver.Chrome() def teardown(self): self.driver.quit() def test_A(self): print("用例A") assert True @ddt.data(data.json) @ddt.unpack def test_B(self,value): print("用例B") print(value) can,yu = value.split('||') self.driver.get('http://www.baidu.com') ele.self.driver.find_element_by_id("kw") ele.send_keys("can") ele.send_keys(Keys.ENTER) self.assertIn(yu,self.driver.get_bage_source) if __name__ == '__main__': unittest.main()
浙公网安备 33010602011771号