Beispiel #1
0
class TestSearch:

    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'
        # 告诉系统不需要重置
        desired_caps['noReset'] = True
        # 解决中文问题
        desired_caps['unicodeKeyboard'] = True
        desired_caps['resetKeyboard'] = True

        # 连接appium服务器
        self.driver = webdriver.Remote('http://192.168.1.2:4723/wd/hub', desired_caps)

        self.contact_list_page = ContactListPage(self.driver)

    def teardown(self):
        self.driver.quit()

    @pytest.mark.parametrize("args", analyze_data("search_data.yaml", "test_search"))
    def test_search(self, args):
        key = args["key"]

        self.contact_list_page.click_search()
        self.contact_list_page.input_search(key)
Beispiel #2
0
    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'
        # 告诉系统不需要重置
        desired_caps['noReset'] = True
        # 解决中文问题
        desired_caps['unicodeKeyboard'] = True
        desired_caps['resetKeyboard'] = True

        # 连接appium服务器
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub',
                                       desired_caps)

        self.contact_list_page = ContactListPage(self.driver)
        self.edit_contact_page = EditContactPage(self.driver)
Beispiel #3
0
class TestContact:
    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = 'huawei p30'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'

        # 连接appium服务器
        self.driver = webdriver.Remote('http://192.168.31.50:4723/wd/hub',
                                       desired_caps)

        # 创建页面
        self.add_contact_page = AddContactPage(self.driver)
        self.contact_list_page = ContactListPage(self.driver)
        self.saved_page = SavedPage(self.driver)

    def teardown(self):
        self.driver.quit()

    def test_login(self):
        print("123123")
        print("123123")

    @pytest.mark.parametrize("args",
                             analyze_data("contact_data", "test_add_contact"))
    def test_add_contact(self, args):
        name = args["name"]
        phone = args["phone"]

        # 联系人列表 - 点击 - 添加
        self.contact_list_page.click_add_contact()
        # 添加联系人 - 点击 - 本地保存
        self.add_contact_page.click_local_save()
        # 添加联系人 - 输入 - 姓名
        self.add_contact_page.input_name(name)
        # 添加联系人 - 输入 - 电话
        self.add_contact_page.input_phone(phone)
        # 添加联系人 - 点击 - 返回
        self.add_contact_page.click_back()
        # 断言: 保存成功 - 获取 - 大标题的文字  ==  输入的用户名
        assert self.saved_page.get_title_text() == name
Beispiel #4
0
class TestContact:
    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'

        # 告诉系统不需要重置
        desired_caps['noReset'] = True

        # 连接appium服务器
        self.driver = webdriver.Remote('http://*****:*****@pytest.mark.parametrize(("name", "phone"), [("zhangsan", "177"), ("lisi", "188")])
    # def test_add_contact(self, name, phone):
    #     self.contact_list_page.click_add_contact()
    #     self.edit_contact_page.input_name(name)
    #     self.edit_contact_page.input_phone(phone)

    @pytest.mark.parametrize("args",
                             analyze_data("contact_data.yaml",
                                          "test_add_contact"))
    def test_add_contact(self, args):

        name = args["name"]
        phone = args["phone"]

        self.contact_list_page.click_add_contact()
        self.edit_contact_page.input_name(name)
        self.edit_contact_page.input_phone(phone)
Beispiel #5
0
class TestContact:
    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = '192.168.56.101:5555'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'
        # 不重置应用
        desired_caps['noReset'] = True

        # 连接appium服务器
        self.driver = webdriver.Remote('http://192.168.1.42:4723/wd/hub',
                                       desired_caps)

        # 创建页面对象
        self.add_contact_page = AddContactPage(self.driver)
        self.contact_list_page = ContactListPage(self.driver)
        self.res_page = ResPage(self.driver)

    def teardown(self):
        time.sleep(2)
        self.driver.quit()

    @pytest.mark.parametrize("args",
                             analyze_data("contact_data", "test_add_contact"))
    def test_add_contact(self, args):

        name = args["name"]
        phone = args["phone"]

        self.contact_list_page.click_add_contact()
        self.add_contact_page.input_name(name)
        self.add_contact_page.input_phone(phone)
        self.add_contact_page.click_back()
        assert self.res_page.get_title_text() == name
Beispiel #6
0
    def setup(self):
        # 创建一个字典,包装相应的启动参数
        desired_caps = dict()
        # 需要连接的手机的平台(不限制大小写)
        desired_caps['platformName'] = 'Android'
        # 需要连接的手机的版本号(比如 5.2.1 的版本可以填写 5.2.1 或 5.2 或 5 ,以此类推)
        desired_caps['platformVersion'] = '5.1'
        # 需要连接的手机的设备号(andoird平台下,可以随便写,但是不能不写)
        desired_caps['deviceName'] = 'huawei p30'
        # 需要启动的程序的包名
        desired_caps['appPackage'] = 'com.android.contacts'
        # 需要启动的程序的界面名
        desired_caps['appActivity'] = '.activities.PeopleActivity'

        # 连接appium服务器
        self.driver = webdriver.Remote('http://192.168.31.50:4723/wd/hub',
                                       desired_caps)

        # 创建页面
        self.add_contact_page = AddContactPage(self.driver)
        self.contact_list_page = ContactListPage(self.driver)
        self.saved_page = SavedPage(self.driver)
class TestContact:
    def setup(self):
        self.driver = init_driver()

        self.contact_list_page = ContactListPage(self.driver)
        self.new_contact_page = NewContactPage(self.driver)
        self.saved_page = SavedPage(self.driver)

    def teardown(self):
        self.driver.quit()

    # name, phone
    # xiaoming, 188
    # xiaohong, 177
    # xiaoqiang, 166
    def test_new_contact(self):
        name = "xiaoming"
        self.contact_list_page.click_new_contact()
        self.new_contact_page.click_local_save()
        self.new_contact_page.input_name(name)
        self.new_contact_page.input_phone("1888")
        self.new_contact_page.click_back()

        assert name == self.saved_page.get_large_title_text()
Beispiel #8
0
 def contact_list(self):
     return ContactListPage(self.driver)
    def setup(self):
        self.driver = init_driver()

        self.contact_list_page = ContactListPage(self.driver)
        self.new_contact_page = NewContactPage(self.driver)
        self.saved_page = SavedPage(self.driver)