Exemplo n.º 1
0
class TestLogin:
    mydriver = None
    homepage = None
    loginpage = None

    def setup_class(self):
        self.mydriver = BaseDriver('http://localhost/')
        self.mydriver.set_max_window()
        self.mydriver.set_imp_wait(10)

    def teardown_class(self):
        time.sleep(2)
        self.mydriver.quit()

    # @pytest.mark.skip
    @allure.title('进入主页后跳转至登录页')
    @pytest.mark.run(order=1)
    def test_to_loginpage(self):
        self.homepage = HomeHandle(self.mydriver)
        self.homepage.go_2_loginpage()

    # @pytest.mark.skip
    @allure.title("登录")
    @allure.description("用例描述:测试登录的各种异常情况")
    @pytest.mark.parametrize(
        ("username", "password", "veriycode", "dialog_text"), build_data())
    @pytest.mark.run(order=2)
    def test_login_error(self, username, password, veriycode, dialog_text):
        self.loginpage = LoginHandle(self.mydriver)
        self.loginpage.input_username(username)
        self.loginpage.input_password(password)
        self.loginpage.input_veriycode(veriycode)
        self.loginpage.click_login()
        dialog_text = self.loginpage.get_dialog_text()
        time.sleep(1)
        self.loginpage.click_dialog_yes_bg()
        assert dialog_text == dialog_text
Exemplo n.º 2
0
class TestLogin:
    driver = None

    def setup_class(self):
        self.driver = BaseDriver('http://localhost/')
        self.driver.set_max_window()
        self.driver.set_imp_wait(10)

    def teardown_class(self):
        time.sleep(2)
        self.driver.quit()
        pass

    @allure.title("主页")
    @allure.description("用例描述:从主页跳转至登录页")
    @pytest.mark.run(order=1)
    def test_to_loginpage(self):
        homehandle = HomeHandle(self.driver)
        homehandle.go_2_loginpage()

    @allure.title("登录页")
    @allure.description("用例描述:成功登录")
    @pytest.mark.parametrize(("username", "password", "veriycode"),
                             [("18588581997", "123456", "8888")])
    @pytest.mark.run(order=2)
    def test_login(self, username, password, veriycode):
        loginhandle = LoginHandle(self.driver)
        loginhandle.input_username(username)
        loginhandle.input_password(password)
        loginhandle.input_veriycode(veriycode)
        loginhandle.click_login()

    @allure.title("我的订单页")
    @allure.description("用例描述:进入我的订单页")
    @pytest.mark.run(order=3)
    def test_to_myorderpage(self):
        userhandle = UserHandle(self.driver)
        userhandle.to_orderpage()

    # @pytest.mark.skip
    @allure.title("地址管理页")
    @allure.description("用例描述:地址管理页进入添加界面")
    @pytest.mark.run(order=4)
    def test_to_addresspage(self):
        # 切换窗口
        time.sleep(5)
        windows = self.driver.get_window_handles()
        self.driver.switch_window(windows[-1])
        orderhandle = OrderHandle(self.driver)
        self.driver.scroll(0, 200)
        orderhandle.to_addresspage()

    old_address_count = None

    # @pytest.mark.skip
    @allure.title("添加地址页")
    @allure.description("用例描述:进行添加地址操作,并验证结果")
    @pytest.mark.run(order=5)
    @pytest.mark.parametrize(
        ("receiver", "province", "city", "district", "twon", "address",
         "phone"),
        [("张先生", "北京市", "市辖区", "朝阳区", "三里屯街道", "xxx小区x单元xxx号", "15888888888")])
    def test_add_address(self, receiver, province, city, district, twon,
                         address, phone):
        addresshandle = AddressHandle(self.driver)
        self.old_address_count = addresshandle.get_address_count()
        addresshandle.to_add_address_frame()
        time.sleep(2)
        # 切换frame
        self.driver.switch_frame(NewAddresspage.page_frame_tag)
        creataddresshandle = CreatAddressHandle(self.driver)
        # 写入数据
        creataddresshandle.input_receiver(receiver)
        creataddresshandle.input_province(province)
        creataddresshandle.input_city(city)
        creataddresshandle.input_district(district)
        creataddresshandle.input_twon(twon)
        creataddresshandle.input_address(address)
        creataddresshandle.input_phone(phone)
        creataddresshandle.click_submit()

        time.sleep(2)
        now_address_count = addresshandle.get_address_count()
        assert now_address_count > self.old_address_count, '最新地址条数是否大于之前,如成立则表示添加地址成功'