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