class TestBox: def setup_class(self): self.app = App() def teardown_class(self): self.app.stop() def setup(self): self.index = self.app.start().goto_index() def teardown(self): # self.app.back(5) self.app.close() def test_personinfor(self): ''' 应用的坐标根据账号不同有变化,要实时更新 :return: ''' email = "*****@*****.**" phone = "85857569" x = 95 y = 807 result = self.index.goto_workbench(x,y).goto_storagebox().\ complete_personinfo().goto_editpage().\ mailbox(email).contact_number(phone).\ click_save().toast() assert "保存成功" in result
class TestLogin: def setup_class(self): self.app = App() def teardown_class(self): self.app.stop() def setup(self): self.login = self.app.start().goto_login() def teardown(self): self.app.goto_index().\ goto_person_info("我的").\ goto_settings().\ logout() @pytest.mark.parametrize("data", test_login_datas) def test_login(self, data): ''' 登錄,填寫賬號密碼 :return: ''' self.login.\ username(data["username"]).password(data["password"]).\ remember_password().save_click().\ goto_class_timetable("課表").back_to_index()
class TestSearch(): def setup(self): self.search = App().start().main().goto_market().goto_search() def test_search(self): self.search.search("阿里巴巴-SW") assert self.search.is_choose("阿里巴巴-SW")
class TestMarket: def setup(self): self.market = App().start().goto_main().goto_market() def test_market_select(self): self.market.market_search().search('JD').add_select() self.market.search_backto_market()
class TestLogin: data = Utils.from_file("../datas/test_search.yaml") def setup_class(self): self.app = App() self.app.start() def teardown_class(self): self.app.stop() def setup(self): pass def teardown(self): self.app.goto_demopage().back() # todo: 测试数据的数据驱动 @pytest.mark.parametrize('username, password', [ ("user1", "password1"), ("user2", "password2") ]) def test_login(self, username, password): # todo: 测试步骤的数据驱动 self.app.goto_demopage().login(username, password) # @pytest.mark.parametrize('keyword', [ # 'alibaba', # # 'baidu', # # 'jd' # ]) @pytest.mark.parametrize(data['keys'], data['values']) def test_search(self, keyword): self.app.goto_demopage().search(keyword)
def init_driver(): """ 实例化driver :return: """ app = App() driver = app.start() yield driver
def setup(self): ''' 实例化App(); 通过链式调用PO; 完成联系人添加并验证 :return: ''' self.app = App()
class TestSearchTemp(object): def setup(self): self.search=App().start().main().login("19090909090","19090909090").goto_search() def test_searchtemp(self): self.search.search() def test_detail(self): self.search.search().get_detail()
def setup_class(self): if self.app is None: self.app = App() self.shouye = self.app.openapp().main() # self.app.start().main() print('&&&&&&&' + inspect.stack()[1].filename) print(self.shouye) else: print("app: " + self.app)
class TestSearch(): def setup(self): self.app = App() def test_search(self): self.app.start().main().goto_search().goto_search_option( ).goto_search_result() def teardown(self): self.app.quit()
def app_context(my_driver, platformPage): time.sleep(1) app = App(driver=my_driver.get_driver(), platformPage=platformPage, platform=my_driver.platform) my_driver.start() time.sleep(10) app.get_login_page().allow_permission() try: yield app finally: close_app(my_driver)
class TestDemo: def setup(self): self.main = App().start().main() def teardown(self): pass @recordvideo def test_demo(self): self.main.search()
class TestMarket: data = App().load_data('../data/search_datas.yml') def setup(self): self.app = App() @pytest.mark.parametrize('stock_name', data) def test_market(self, stock_name): search = self.app.start().goto_main().goto_market('行情').goto_search() search.search(stock_name)
class TestDelete: def setup(self): self.main = App() def teardown(self): self.main.base_quit() @pytest.mark.parametrize("name, gender, phonenum", get_contact()) def test_delete(self, name, gender, phonenum): member = self.main.start().goto_address_book().delete(name) assert name not in member
class TestLogin: def setup_class(self): self.app = App() def teardown_class(self): self.app.stop() def setup(self): self.main = self.app.start() @pytest.mark.parametrize("user,psd,login_x,login_y,work_x,work_y", [get_params("login")]) def test_goin_and_questionare(self, user, psd, login_x, login_y, work_x, work_y): ''' 1.登錄页面输入账号 2.完善健康申報表 3.返回到首頁 4.進入工作台 :return: ''' self.main.goto_login().\ switch_to_context().\ username(user).\ password(psd).click_save(login_x,login_y).\ goto_questionare().question().\ backtomain().goto_workbench() def test_questionare(self): ''' 1.已登录,无须进入登录页面 2.完善健康申報表 3.返回到首頁 4.進入工作台 :return: ''' self.main.goto_index().\ goto_questionare().\ question().\ backtomain().goto_workbench() @pytest.mark.parametrize("user,psd,login_x,login_y,work_x,work_y", [get_params("login")]) def test_lgoin(self, user, psd, login_x, login_y, work_x, work_y): ''' 登錄,無需填寫申報,打開工作臺 :return: ''' self.main.goto_login(). \ switch_to_context(). \ username(user). \ password(psd).\ click_save(login_x,login_y).\ goto_workbench(work_x,work_y)
class TestSignAll: ''' 驗證多個賬號的課程類型 ''' def setup_class(self): self.app = App() def teardown_class(self): self.app.stop() def setup(self): ''' 正常打開APP應用進入工作台 :return: ''' self.login = self.app.start().goto_login() def teardown(self): x=522 y=986 self.app.close().goto_person_info(520, 979). \ goto_setting(293, 485). \ logout(285, 263) @pytest.mark.parametrize("data", get_room_type_datas) def test_get_room_type(self,data): ''' 獲取課程教室,網課-》網課,雲課堂-》雲課堂 ''' result = self.login. \ switch_to_context(). \ username(data["username"]).password(data["password"]).click_save(286,444).\ goto_workbench(174, 978). \ goto_class_sign_in(data["signin_x"], data["signin_y"]). \ signpage_switch_to_context(). \ get_room_type() assert data["expect"] == result @pytest.mark.parametrize("data", supplementarysign_datas) def test_supplementarysign(self,data): ''' 驗證從APP補簽成功 ''' result = self.login. \ switch_to_context(). \ username(data["username"]).password(data["password"]).click_save(286,444).\ goto_workbench(174, 978). \ goto_class_sign_in(data["signin_x"], data["signin_y"]). \ signpage_switch_to_context(). \ goto_supplementarysign().\ supplementarysign(data["remark"]). \ signpage_switch_to_context(). \ get_suppl_current_sign_present() assert data["expect"] == result
class TestContact: def setup(self): self.app = App() def test_contact(self): self.app.goto_main().goto_contactlist().goto_addmemberlist( ).goto_manualadd().adding("lantesta1", "13300000031", "惠康家园") def test_1(self): self.app.app_start().goto_main().goto_contactlist().goto_addmemberlist( ).goto_manualadd().adding("lantesta1", "13300000031", "惠康家园")
class TestSearch(): def setup(self): self.app = App() def test_search(self): result = self.app.start().goto_main().goto_market_page().goto_search( ).search() assert result def teardown(self): self.app.stop()
class TestAddMember(): def setup(self): self.app = App() self.main = self.app.start_app().goto_main() def teardown(self): self.app.stop_app() def test_search(self): result = self.main.goto_quotation().goto_search().search() assert result
class TestAddMember(): def setup(self): self.app = App() self.main = self.app.start_app().goto_main() def teardown(self): self.app.stop_app() def test_wework_add_mem(self): result = self.main.goto_blacklist().goto_quotation().goto_market( ).check_page() assert result == "上证指数"
class TestSearch: def setup(self): self.main = App().start().main() def test_search(self): assert self.main.goto_search_page().search("alibaba").get_price("BABA") > 200 # @pytest.mark.parametrize("key, stock_type, price", [ # ("alibaba", "BABA", 205), # ("alibaba", "09988", 205) # ]) @pytest.mark.parametrize("key, stock_type, price", yaml.safe_load(open("data.yaml"))) def test_search_data(self, key, stock_type, price): assert self.main.goto_search_page().search(key).get_price(stock_type) > price
class TestSettlement: def setup_class(self): self.main = App().start().main() def setup(self): # 购物车数量是0 ,就切换到分类页面添加商品, if self.main.get_shopping_cart_count() == 0: self.main.goto_category().switch_category().add_item() # 然后在回到购物车页面 self.main.goto_shoping_cart() @pytest.mark.parametrize('data', yaml.safe_load(open(os.path.join(data_dir, 'data_settlement.yaml'), encoding='utf-8'))) def test_shopping_cart_to_settlement(self, data): self.settlement_page=self.main.goto_shoping_cart().goto_settlement_page() if self.settlement_page.is_addr(): self.settlement_page.add_pick_up_point(data['name'],data['phone']) if self.settlement_page.slide_to_bottom().is_open_item_but(): self.settlement_page.open_item_list() self.settlement_page.slide_to_bottom().goto_pay_page().back() def test_commodity_details_page_to_settlement(self): self.main.goto_home().slide_to_bottom().goto_commodity_details().goto_settlement_page()
class TestAdd: def setup(self): self.main = App() def teardown(self): self.main.base_quit() @pytest.mark.parametrize("name, gender, phonenum", get_contact()) def test_add(self, name, gender, phonenum): # lists = self.main.start().goto_address_book().add() # assert "亚历山大" in lists toast = self.main.start().goto_address_book().add( name, gender, phonenum) assert "添加成功" == toast
class Test_Search(): def setup(self): self.app = App() self.search = self.app.start().goto_main().goto_market().goto_seacrh() def teardown(self): self.app.end() @pytest.mark.parametrize("name",["京东","阿里巴巴"]) def test_search_add(self,name): self.search.search(name) if self.search.is_choose(name) is not None: self.search.reset(name) self.search.add(name) assert self.search.is_choose(name)
class TestProFile: def setup_class(self): self.main = App().start().main() self.profile = self.main.goto_profile() def teardown(self): self.profile.back() def test_go_to_pay_order(self): title = self.profile.go_to_pay_order().get_title() assert '订单' in title def test_go_to_send(self): title = self.profile.go_to_send().get_title() assert '订单' in title def test_go_to_get(self): title = self.profile.go_to_get().get_title() assert '订单' in title def test_go_to_envaluate(self): title = self.profile.go_to_envaluate().get_title() assert '订单' in title def test_get_all_order(self): title = self.profile.get_all_order().get_title() assert '订单' in title
class TestContact: def setup(self): self.app = App() self.main = self.app.start().goto_main() def teardown(self): self.app.stop() @pytest.mark.parametrize("name,phonenum", get_data()['add']) def test_add_contact(self, name, phonenum): # name='zhangsan1' # gender='男' # phonenum='12233331111' toast=self.main.add_member().addconnect_menual().edit_name(name).\ edit_phonenum(phonenum).click_save().get_toast() assert toast == "添加成功"
class TestProfile: def setup(self): self.profile = App().start().main().goto_profile() def test_login_by_password(self): assert "错误" in self.profile.login_by_password("13120837001", "1234556789")
class TestAddmember(): def setup(self): ''' 实例化App(); 通过链式调用PO; 完成联系人添加并验证 :return: ''' self.app = App() def teardown(self): pass def test_addmember(self): ''' 1、添加成员 2、检验添加成功后的toast :return: ''' # 获取随机数 n1 = random.randint(0, 9) num = random.randint(11111111, 99999999) # 将要添加的成员信息 username = f'name_{n1}' phone_num = f'136{num}' # 添加成员 add_result = self.app.goto_main_page().goto_members_page().\ goto_addmember_page().addmember(username, phone_num) # 校验是否添加成功 assert add_result == '添加成功'
class TestAddMember: def setup(self): self.app = App() self.main = self.app.start().goto_main() def teardown(self): self.app.stop() @pytest.mark.parametrize("name,gender,phone,mailbox", get_add_data("add")) def test_add_member(self, name, gender, phone, mailbox): # name = "Zoro" # gender = "男" # phone = "10000000003" # mailbox = "*****@*****.**" toast = self.main.click_address_book().click_add_member().click_add_manually() \ .edit_name(name).edit_gender(gender).edit_phone(phone).edit_mailbox(mailbox).click_save().get_toast() assert toast == "添加成功"
class TestSearch: def setup(self): self.search_page = App().start().to_search_page() @pytest.mark.parametrize("keyword,expect_price", yaml.load(open('../data/searchdata.yaml', 'r', encoding='utf-8'), Loader=yaml.FullLoader)) def test_search_page(self, keyword, expect_price): self.search_page.search_po(keyword) current_price = self.search_page.get_current_price() print("%d >= %d" % (current_price, expect_price)) assert current_price >= expect_price def teardown(self): App().quit()