思路:使用python自带的unittest单元测试框架测试163邮箱登录成功的case
import unittest
from selenium import webdriver
import time
#定义登录类,登录相关的case都可以在这里
class LoginCase(unittest.TestCase):
#每个用例开始前的准备
def setUp(self):
print("开始测试")
self.dr=webdriver.Chrome()
self.dr.get("https://mail.163.com/")
#测试登录成功case
def test_login_sucess(self):
username='xxxxxxxxx'
password='xxxxxxxxx'
self.login(username,password)
time.sleep(2)
account=self.by_xpath("//*[id='spnUid']").text
self.assertIn("你的邮箱账号",account)#断言账号在登录标题中
#登录过程封装为一个方法方便调用,避免重复代码
def login(self,username,password):
self.by_id("switchAccountLogin").click()
self.dr.switch_to.frame(0)#输入框位于frame内,需要跳转到frame
self.by_name("email").send_keys(username)
self.by_name("password").send_keys(password)
self.by_id("dologin").click()
time.sleep(2)
#将定位方法封装在方法中便于书写,避免重复代码
def by_id(self,the_id):
return self.dr.find_element_by_id(the_id)
def by_css(self,css):
return self.dr.find_element_by_css_selector(css)
def by_name(self,name):
return self.dr.find_element_by_name(name)
def by_xpath(self,xpath):
return self.dr.find_element_by_xpath(xpath)
def tearDown(self): #每个用例执行之后
print ('after test')
self.dr.quit()
if __name__ == '__main__':
unittest.main()