# 在写测试类以及测试用例时要规定一个命名习惯,
# 一般测试类可以以Test开头,也可以以Test结尾。
# 测试用例一般是以test开头。
# 调用unittest包
# 调用unittest框架
import unittest
# 从时间模块中调用延时器的方法
from time import sleep
# 从selenium模块中导入驱动webdriver
from selenium import webdriver
# 创建测试类:从unittest.TestCase继承
# 注:setUp和tearDown可以选择是否需要
class TestLoginOut(unittest.TestCase):
#初始化测试环境
def setUp(self):
# 使用驱动,调用驱动确认操作的浏览器是哪个
# 用变量输入网址
# 跳转到指定的url,并且检查页面是否加载完毕
self.driver.get(url)
# 隐式等待,也叫智能等待,是 webdirver 提供的一个超时等待。
# 如果超出了设置时间的则抛出异常。
self.driver.implicitly_wait(10)
# 窗口最大化
self.driver.maximize_window()
# 打印set up 确认什么时间调用的
print("setUp")
# 一个测试用例
def test_login(self):
# 实例化一个测试用例
driver=self.driver
# 使用link_text元素定位方法,定位文本内容“登录”
# 执行操作元素的方法:click点击操作
driver.find_element_by_link_text("登录").click()
# 用css选择器的方法去定位元素
# 执行操作元素的方法:send_keys写入内容
driver.find_element_by_css_selector("input[alt*='邮箱']").send_keys("admin")
# 用css选择器的方法去定位元素
# 执行操作元素的方法:send_keys写入内容
driver.find_element_by_css_selector("input[alt*='密码']").send_keys("123456")
# 用css选择器的方法去定位元素
# 执行操作元素的方法:click点击操作
driver.find_element_by_css_selector(".submit_login").click()
# 强制等待,设置固定休眠时间。 python 的 time 包提供了休眠方法 sleep() ,
# 导入 time 包后就可以使用 sleep(),进行脚本的执行过程进行休眠。
sleep(3)
# 用css选择器的方法去定位元素
# 执行操作元素的方法:click点击操作
driver.find_element_by_css_selector(".reg").click()
#还原测试环境
def tearDown(self):
sleep(2)
# 用quit方法直接退出并关闭所有浏览器
# 补充:close方法是关闭当前窗口
self.driver.quit()
print("tearDown")
#执行测试用例
if __name__ == '__main__':
# 调用main方法执行unitetest内所有test开头方法
unittest.main()