前言
前几章节学习各种元素定位的方法,下面以登录51cto网站作为例。
首先,我们需要设计一下测试模板,首先我简单分为Set_up、Test_step、Teardown三个部分。
1.Set_up#初始化工作
2.Test_step#执行步骤
3.Teardown#清理工作
主要工作在登录部分,也就是我们的Test_step部分,Teardown作为清理工作,无论上面的上面步骤,都不应该影响到Teardown的执行。'
1)Set_up
由于我们例子只是登录51cto,所以暂时不需要初始化工作。
def Set_up(self):
pass
2)Test_step()
def login(self,url,user,passwd):#登录51cto网站
driver.get(url)
driver.implicitly_wait(30)
try:
driver.find_element_by_css_selector("input#loginform-username").send_keys(user)
driver.find_element_by_css_selector("input#loginform-password").send_keys(passwd)
driver.find_element_by_xpath("//*[@name='login-button']").click()
driver.get_screenshot_as_file("/Users/zhangxiaojun/project/image/login.png")
t = driver.find_element_by_css_selector(".login-suc>a:nth-child(2)").text #检测登录用户为testwo_py
except NoSuchElementException as e:
print(e)
if t==user:
print("登录成功")
else:
print(“登录失败”)
3)Teardown
def teardown(self):#退出51cto登录,关闭浏览器
try:
driver.find_element_by_css_selector(".login-suc>a:nth-child(6)").click()
except NoSuchElementException as e:
print(e)
driver.quit()
4)合并代码
import time
from selenium import webdriver
from selenium.common.exceptions import *
class Test_step(object):
def __init__(self):
self.driver = webdriver.Chrome()
def set_up(self):
pass
def Test_step(self,url,user,passwd):#登录51cto网站
self.driver.get(url)
self.driver.implicitly_wait(30)
try:
self.driver.find_element_by_css_selector("input#loginform-username").send_keys(user)
self.driver.find_element_by_css_selector("input#loginform-password").send_keys(passwd)
self.driver.find_element_by_xpath("//*[@name='login-button']").click()
self.driver.get_screenshot_as_file("/Users/zhangxiaojun/project/image/login.png")
t = driver.find_element_by_css_selector(".login-suc>a:nth-child(2)").text #检测登录用户为testwo_py
except NoSuchElementException as e:
print(e)
if t==user:
print("登录成功")
else:
print("登录失败")
def teardown(self):#退出51cto登录,关闭浏览器
try:
self.driver.find_element_by_css_selector(".login-suc>a:nth-child(6)").click()
except NoSuchElementException as e:
print(e)
self.driver.quit()
if __name__ =="__main__":
url="http://home.51cto.com/index?reback=http://www.51cto.com/"
user = "testwo_py"
passwd = "testwo@0"
test = Test_step()
test.Test_step(url=url,user=user,passwd=passwd)
test.teardown()
声明:欢迎大家加入测试窝官方交流群(316016449),如上述内容存在错误,请帮忙指出,我会及时更正。