seyOrd

导航

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()

 

posted on 2020-04-10 19:15  seyOrd  阅读(316)  评论(0)    收藏  举报