예제 #1
0
class TestLogin(unittest.TestCase):
    def setUp(self):
        # 打开谷歌浏览器,访问课堂派网址
        warnings.simplefilter('ignore', ResourceWarning)
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.get(cd.login_url)
        self.lp = LoginPage(self.driver)
        pass

    def tearDown(self):  # self 指的是实例名
        # 退出浏览器会话
        self.driver.quit()
        pass

    def test_01_login_success(self):
        # 登陆页面-输入用户名
        # 登陆页面-输入密码
        # 登陆页面-点击登陆按钮
        self.lp.login(ld.normal_data["user"], ld.normal_data["passwd"])
        # 断言
        # 首页-获取元素,确认是否存在
        self.assertTrue(IndexPage(self.driver).if_user_is_exist())

    @ddt.data(*ld.incorrect_datas)
    def test_02_login_abnormal(self, data):
        self.lp.login(data["user"], data["passwd"])
        self.assertEqual(data["check"], self.lp.get_error_msg())
예제 #2
0
 def test_login_success(self):
     logger.info("************登录成功用例****************")
     lp = LoginPage(self.driver)
     lp.login(*LoginData.success_data)
     # 进行断言
     try:
         self.assertTrue(HomePage(self.driver).get_quit_ele_exists())
         logger.info("断言成功")
     except AssertionError as e:
         logger.exception("断言失败")
         raise e
예제 #3
0
 def test_login_failed_layui(self, data_info):
     logger.info("*************登录失败场景2用例***************")
     lp = LoginPage(self.driver)
     lp.login(data_info["phone"], data_info["pwd"])
     msg_text = lp.get_msg_from_login_layui()
     # 进行断言
     try:
         self.assertEquals(msg_text, data_info["check"])
         logger.info("断言成功")
     except AssertionError as e:
         logger.exception("断言失败")
         raise e
예제 #4
0
 def test_login_failed_form(self, data_info):
     logger.info("*************登录失败场景1用例*************")
     # 进行登录操作
     lp = LoginPage(self.driver)
     # 输入空的账号/密码/错误的手机号
     lp.login(data_info["phone"], data_info["pwd"])
     # 进行断言
     try:
         self.assertEqual(lp.get_msg_from_login_form(), data_info["check"])
         logger.info("断言成功")
     except AssertionError as e:
         logger.exception("断言失败")
         raise e
예제 #5
0
def init_loginedEnv():
    #启动浏览器静默模式
    option = webdriver.ChromeOptions()
    option.add_argument('headless')
    driver = webdriver.Chrome(chrome_options=option)
    #driver=webdriver.Chrome()
    driver.get(login_url)
    #窗口最大化
    driver.maximize_window()
    LoginP=LoginPage(driver)
    LoginP.wait_iframe_and_switch_to_it(LoginP.account_iframe)
    LoginP.login(login_data['username'],login_data['passwd'])
    yield driver
    driver.quit()
예제 #6
0
class TestCase(unittest.TestCase):
    index = 1

    def setUp(self) -> None:
        # #利用缓存跳过登录
        # option=webdriver.ChromeOptions()
        # option.add_argument("--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data")
        # self.driver = webdriver.Chrome(options=option)
        self.logger = Logger()
        self.driver=browser_type("chr")
        self.lp = LoginPage(self.driver, LoginPage.url)
        self.lp.login("13800138006", "123456", "1111")  # 使用实例变量self才能调用别的方法内的属性
        self.sp = SearchPage(self.driver, SearchPage.url)

    def tearDown(self) -> None:
        self.sp.quit_browser()


    # # 登录模块
    # @data(*test_data)
    # @unpack
    # def test_1_login(self, **test_data):
    #     username = test_data['username']
    #     password = test_data['password']
    #     vercode = test_data['vercode']
    #     self.lp.login(username, password, vercode)
    #     sleep(5)
    #     self.assertEqual(self.lp.get_username(), test_data["veridate"], msg="登录失败")
    #     self.logger.log().info("第{0}个用例,参数username:{1},password:{2},vercode:{3}".format(TestCase.index, username, password, vercode))
    #     TestCase.index+=1

    #搜索模块
    @file_data('../config/data.yaml')
    def test_2_search(self, **kwargs):
        searchtext = kwargs['search']["text"]
        varidata = kwargs["varidata"]
        sleep(5)
        self.sp.search_shop(searchtext)
        self.assertEqual(self.sp.get_search_text(), varidata, msg="搜索失败")
        self.logger.log().info("搜索内容为{},验证内容为{},实际结果为{}".format(searchtext, varidata,self.sp.get_search_text()))
예제 #7
0
class TestCase:

    index = 1

    def setup(self):
        # #利用缓存跳过登录
        # option=webdriver.ChromeOptions()
        # option.add_argument("--user-data-dir=C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data")
        # self.driver = webdriver.Chrome(options=option)
        self.logger = Logger()
        self.driver = browser_type("chr")
        self.driver.maximize_window()
        self.lp = LoginPage(self.driver, LoginPage.url)
        self.sp = SearchPage(self.driver, SearchPage.url)
        self.cp = OrderList(self.driver, OrderList.url)
        self.lp.login(13800138006, 123456, 1111)

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

    #登录模块
    @data(*test_data)
    @unpack
    def test_1_login(self, **test_data):
        username = test_data['username']
        password = test_data['password']
        vercode = test_data['vercode']
        self.lp.login(username, password, vercode)
        sleep(3)
        self.logger.log().info(
            "第{0}个用例,参数username:{1},password:{2},vercode:{3}".format(
                TestCase.index, username, password, vercode))
        TestCase.index += 1
        assert self.lp.assert_text() == test_data["veridate"]

    #搜索模块
    @file_data('../config/search.yaml')
    def test_2_search(self, **kwargs):
        self.lp.login("13800138006", "123456",
                      "1111")  # 使用实例变量self才能调用别的方法内的属性
        searchtext = kwargs["text"]
        varidata = kwargs["varidata"]
        sleep(3)
        self.sp.search_shop(searchtext)
        self.logger.log().info("搜索内容为{},验证内容为{},实际结果为{}".format(
            searchtext, varidata, self.sp.assert_text()))
        assert self.sp.assert_text() == varidata

    #订单号查询
    @pytest.mark.parametrize("order, expect", excel_data2)
    def test_03_check(self, order, expect):
        self.cp.check_shop(order)
        assert expect == self.cp.assert_text()
예제 #8
0
    def click_searchbt(self):
        self.loc(self.searchbt).click()

    def assert_text(self):
        return self.loc(self.searchtext).text

    def search_shop(self,searchtext):

        self.input_search(searchtext)
        self.click_searchbt()
        sleep(1)
if __name__ == '__main__':
    #同一个driver完整执行登录后搜索流程
    searchtext = "华为"
    username = 13800138006
    password = 123456
    vercode = 1111
    driver = webdriver.Chrome()
    lp = LoginPage(driver,LoginPage.url)
    lp.login(username, password, vercode)

    sp = SearchPage(driver,SearchPage.url)
    sleep(2)
    sp.input_search(searchtext)






예제 #9
0
def login(driver, userName, passWd):
    lp = LoginPage(driver)
    lp.login(userName, passWd)
    info("login successfully!")
    print(dateTimeChinese())