selenium+python自动化用例登陆界面模板
一、基本逻辑
1.自动填写用户名和密码登录成功后跳转到相应页面
2.验证相应页面的url与给定的url是否一致,如果一致则测试通过,如果不一致则不通过
二、以jenkins登陆界面为例,代码如下
1 from selenium import webdriver2 import unittest
3 from selenium.webdriver.support.wait import WebDriverWait
4
5 class TestLogin(unittest.TestCase):
6 # 指定浏览器
7 def setUp(self):
8 self.driver = webdriver.Firefox(executable_path="F:\Program Files (x86)\Mozilla Firefox\geckodriver.exe")
9 # 打开url
10 self.driver.get("http://192.168.1.151:8080/login?from=%2F")
11
12 # 登录操作
13 def test_login(self):
14 username = "test001"
15 password = "pass001"
16
17 # 执行登录操作
18 #用户名的定位
19 WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_id(\'j_username\')).clear()
20 WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_id(\'j_username\')).send_keys(username)
21 #密码的定位
22 WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_name(\'j_password\')).clear()
23 WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_name(\'j_password\')).send_keys(password)
24 # 点击登录
25 self.driver.find_element_by_id("yui-gen1-button").click()
26 # 登录成功断言
27 currUrl = self.driver.current_url
28 print("currUrl"+currUrl)
29 if currUrl == "http://192.168.1.151:8080/":
30 print("success")
31 else:
32 print("failure")
33
34 # 关闭浏览器
35 def tearDown(self):
36 self.driver.quit()
37
38
39 if __name__ == "__main__":
40 unittest.main()
三、用例详解
用例主要分为3块:
def setUp(self):函数setUp中,为执行用例前准备操作
def test_login(self):函数test_login中,为用例的具体操作步骤+用例执行后的断言判断操作
def tearDown(self):函数tearDown中,为用例执行完成的还原环境操作
值得一讲的为用户名的定位语句:
WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_id(\'j_username\')).clear() //找到用户名的值,把值清空WebDriverWait(self.driver, 10).until(lambda x: x.find_element_by_id(\'j_username\')).send_keys(username) //将username的值写入用户名值中
WebDriverWait:10秒钟内每隔0.5秒去页面找id=j_username属性的值,超过10秒则报错,有效的避免了页面加载延迟导致找不到对应值的bug
find_element_by_id:表示通过id属性去找(鼠标放在用户名框的位置-->右键-->属性),如下图:
四、执行结果
由于此处设置的用户名,密码无效,故返回失败,如下图:(在执行过程中可以看到在火狐中有打开浏览器的一系列操作)
五、用例调试
可以通过在pycharm中进入Python Console中一句一句的执行用例语句,进行用例调试并查看用例每一步操作现象
以上是 selenium+python自动化用例登陆界面模板 的全部内容, 来源链接: utcz.com/z/388166.html