Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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")
Ejemplo n.º 4
0
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()
Ejemplo n.º 5
0
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)
Ejemplo n.º 6
0
def init_driver():
    """
    实例化driver
    :return:
    """
    app = App()
    driver = app.start()
    yield driver
Ejemplo n.º 7
0
 def setup(self):
     '''
     实例化App();
     通过链式调用PO;
     完成联系人添加并验证
     :return:
     '''
     self.app = App()
Ejemplo n.º 8
0
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()
Ejemplo n.º 9
0
    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)
Ejemplo n.º 10
0
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()
Ejemplo n.º 11
0
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)
Ejemplo n.º 12
0
class TestDemo:
    def setup(self):
        self.main = App().start().main()

    def teardown(self):
        pass

    @recordvideo
    def test_demo(self):
        self.main.search()
Ejemplo n.º 13
0
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)
Ejemplo n.º 14
0
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
Ejemplo n.º 15
0
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)
Ejemplo n.º 16
0
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
Ejemplo n.º 17
0
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", "惠康家园")
Ejemplo n.º 18
0
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()
Ejemplo n.º 19
0
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
Ejemplo n.º 20
0
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 == "上证指数"
Ejemplo n.º 21
0
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
Ejemplo n.º 22
0
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()
Ejemplo n.º 23
0
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
Ejemplo n.º 24
0
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)
Ejemplo n.º 25
0
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
Ejemplo n.º 26
0
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 == "添加成功"
Ejemplo n.º 27
0
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")
Ejemplo n.º 28
0
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 == "添加成功"
Ejemplo n.º 30
0
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()