思路:使用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):
self.dr.switch_to.default_content()
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()