selenium+python自动化测试系列(一):登录 (2)

    登录页面元素的封装page_obj\loginPage.py,代码如下

# -*-coding:utf-8-*- # _author_ = "janehost" """ 思路:创建登录页面对象,对用户登录页面上的用户名/密码输入框、登录按钮和 提示信息等元素的定位进行封装。 """ from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.common.by import By from base import Page from time import sleep class login(Page): ''' 用户登录界面 ''' url = 'http://www.likecs.com/' # 登录用户名的定位 login_username_loc = (By.ID, 'username') # 登录密码的定位 login_password_loc = (By.ID,'password') # 登录按钮的定位 login_button_loc = (By.CSS_SELECTOR,'.btn.btn-success.btn-block') # 登录错误提示的定位 login_error_loc = (By.ID,'error_msg') # 登录成功用户名信息 login_user_success_loc = (By.XPATH, 'html/body/div[3]/div[2]/ul/li[1]/a/strong') # 登录用户名 def login_username(self, username): self.find_element(*self.login_username_loc).clear() self.find_element(*self.login_username_loc).send_keys(username) # 登录密码 def login_password(self, password): self.find_element(*self.login_password_loc).clear() self.find_element(*self.login_password_loc).send_keys(password) # 登录按钮 def login_button(self): self.find_element(*self.login_button_loc).click() # 统一登录入口 def user_login(self, username="testuser01", password="testgood001"): # 获取用户名和页面登录 self.open() self.login_username(username) self.login_password(password) self.login_button() sleep(3) # 登录错误提示信息 def login_error_hint(self): return self.find_element(*self.login_error_loc).text # 登录成功用户名信息 def login_user_success(self): #return self.find_element(*self.login_user_success_loc).text username = self.find_element(*self.login_user_success_loc).text username = username.strip('您好:') return username

    登录测试用例信息test_case\login_sta.py,代码如下

# -*-coding:utf-8-*- # _author_ = "janehost" from time import sleep import unittest, random, sys from models import myunit, function from page_obj.loginPage import login sys.path.append("./models") sys.path.append("./page_obj") reload(sys) sys.setdefaultencoding('utf8') class loginTest(myunit.MyTest): ''' 测试用户登录 ''' def user_login_verify(self, username="", password=""): login(self.driver).user_login(username, password) def test_login1(self): '''用户名、密码为空登录''' self.user_login_verify() po = login(self.driver) self.assertEqual(po.login_error_hint(), '用户名或密码不能为空') function.insert_img(self.driver, "user_pawd_empty.jpg") def test_login2(self): '''用户名正确,密码为空登录验证''' self.user_login_verify(username="ces") po = login(self.driver) self.assertEqual(po.login_error_hint(), "用户名或密码不能为空") function.insert_img(self.driver,"pawd_empty.jpg") def test_login3(self): '''用户名为空,密码正确''' self.user_login_verify(password="12334ddf") po = login(self.driver) self.assertEqual(po.login_error_hint(),"用户名或密码不能为空") function.insert_img(self.driver, "user_empty.jpg") def test_login4(self): '''用户名和密码不匹配''' character = random.choice('abcdefghijklmnopqrstuvwxyz') username = "sdw" + character self.user_login_verify(username=username, password="2sdfd") po = login(self.driver) self.assertEqual(po.login_error_hint(), "用户名或密码错误") function.insert_img(self.driver, "user_pass_error.jpg") def test_login5(self): '''用户名、密码正确''' self.user_login_verify(username="adtest" , password="4dscsdx") sleep(3) po = login(self.driver) self.assertEqual(po.login_user_success(), u'adtest') function.insert_img(self.driver, "user_pwd_true.jpg") if __name__ == '__main__': unittest.main()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyygfs.html