1. 程式人生 > >python測試用例傳送郵件用谷歌瀏覽器的方式

python測試用例傳送郵件用谷歌瀏覽器的方式

#-*- coding:utf-8 -*-
#匯入單元測試
import  unittest
#匯入單元測試
from unittests import login
#匯入自動化測試報告
import HTMLTestRunner
#匯入os包
import os
#匯入休眠包
import time
#匯入傳送郵件的包
#首先匯入smtp伺服器的包
import smtplib
#匯入正文需要用的包
from email.mime.text import MIMEText
#新增主題包
from  email.header import Header
#例項化套件
suit = unittest.TestSuite()
#將單元測試加入到套件裡面
suit.addTest(unittest.makeSuite(login.Login)) #指定自動化測試報告的生成路徑 files = os.getcwd()+"jd.html" #指定讀寫方式wb 以二進位制的方式寫入rb 以二進位制的方式讀寫 rb+ 以二進位制的放既可以讀又可以寫 filename = open(files,'wb') #執行自動化測試報告 runner = HTMLTestRunner.HTMLTestRunner(stream=filename,title=u"京東",description=u"京東登入用例") runner.run(suit) #關流 filename.close() #郵件傳送功能
#使用的是smtp伺服器 #指定傳送郵件的使用者名稱 send = "[email protected]" #指定接收郵件的郵箱 recever = "[email protected]" #指定郵件的主題 title = "今天早晨吃的麵包喝的牛奶" #指定需要傳送郵件的伺服器 emain_server = "smtp.163.com" #指定傳送郵件的使用者名稱和密碼 username = "[email protected]" password = "gaoxuejun123" #指定自動化測試報告的路徑 files2 = os.getcwd()+"jd.html"
#通過流將報告讀取出來 filename1 = open(files2,"rb") #將流轉為字串 emain_name = filename1.read() #關閉流 filename1.close() print emain_name #設定郵件內容 msg = MIMEText(emain_name,_subtype="html",_charset="UTF-8") #設定主題 msg['Subject'] = Header(title,"UTF-8") #設定傳送者和接收者 msg['From'] = send msg['TO'] = recever #例項化smtp伺服器 smtp = smtplib.SMTP() #開始連線伺服器 smtp.connect(emain_server) #登入伺服器 smtp.login(username,password) #開始傳送郵件 smtp.sendmail(send,recever,msg.as_string()) #關閉伺服器 smtp.quit()
#-*- coding:utf-8 -*-
#匯入單元測試
import  unittest
#匯入休眠時間包
import time
#導包
from  util import  chromedriver

#宣告類繼承單元測試
class Login(unittest.TestCase):
    #例項化物件的方法
    #加註解
@classmethod
def setUpClass(self):
        #例項化物件
self.chrome = chromedriver.ChromeDriver()
        pass
#每一條測試用例執行之前的方法
def setUp(self):
        #開啟瀏覽器
self.chrome.ChromeDriver_start("https://passport.jd.com/new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F%3Fcu%3Dtrue%26utm_source%3Dbaidu-pinzhuan%26utm_medium%3Dcpc%26utm_campaign%3Dt_288551095_baidupinzhuan%26utm_term%3D0f3d30c8dba7459bb52f2eb5eba8ac7d_0_2dd9263a75fb469f9d5869da66d5fc22")

        pass
#每一條測試用例執行結束時候的方法
def tearDown(self):
        #關閉
self.chrome.ChromeDriver_close()
        pass
#測試用例點選關於我們
def test_about_me(self):
        #獲取當前頁面
self.current = self.chrome.getCurrentWindow()
        #點選關於我們
self.chrome.ClickLink("關於我們")
        # #設定休眠
        # self.chrome.TimeLink("京東集團介紹")
        #切換視窗
self.chrome.switch_window(self.current)
        #獲取title
self.title = self.chrome.getTitle()
        #進行斷言
self.assertEqual(self.title,u"企業簡介-京東商城")
        pass
#     def test_about_lianxi(self):
#         #獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         #點選關於我們
#         self.chrome.ClickLink("聯絡我們")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         #獲取title
#         self.title = self.chrome.getTitle()
#         #進行斷言
#         self.assertEqual(self.title,u"聯絡我們-京東商城")
#         pass
#     def test_about_rencai(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("人才招聘")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"京東招聘官網")
#         pass
#     def test_about_shangjia(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("商家入駐")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"商家入駐-入駐流程 - 京東全品類專題活動-京東")
#         pass
#
#     def test_about_guanggao(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("廣告服務")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"廣告服務 - 京東全品類專題活動-京東")
#         pass
#
#     def test_about_shouji(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("手機京東")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"手機京東 - 京東")
#         pass
#
#     def test_about_youqing(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("友情連結")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"友情連結")
#         pass
#
#     def test_about_xiaoshou(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("銷售聯盟")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"京東聯盟")
#         pass
#
#     def test_about_shequ(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("京東社群")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"京東社群 - 京東電腦、辦公|遊戲裝置專題活動-京東")
#         pass
#
#
#     def test_about_gongyi(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("京東公益")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"京東公益")
#         pass
#
#
#     def test_about_English(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("English Site")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, "JD.com Global Online Shopping Site: Online Shopping for Electronics, Clothing, Toys and More")
#         pass
#
#
#     #賬號登入
#     def test_about_dl(self):
#
#         self.chrome.test_zhdl("login-tab-r").click()
#         self.chrome.czid("loginname").send_keys("")
#         self.chrome.czid("nloginpwd").send_keys("")
#         self.chrome.czid("loginsubmit").click()
#         time.sleep(2)
#         self.msg = self.chrome.test_zhdl("msg-error").text
#         self.assertEqual(self.msg,u"請輸入賬戶名和密碼")
#
#      # 掃碼登入QQ
#     def test_about_saomaqq(self):
#         self.chrome.class_click("login-tab-l")
#         self.current = self.chrome.getCurrentWindow()
#         self.chrome.ClickLink("QQ")
#         self.chrome.switch_window(self.current)
#         self.title = self.chrome.getTitle()
#         self.assertEqual(self.title, u"QQ帳號安全登入")
#
#         #掃碼登入微信
#
#     def test_about_saomawx(self):
#         self.chrome.class_click("login-tab-l")
#         self.current = self.chrome.getCurrentWindow()
#         self.chrome.ClickLink("微信")
#         self.chrome.switch_window(self.current)
#         self.title = self.chrome.getTitle()
#         self.assertEqual(self.title, u"微信登入")
#
#     #點選登入頁面,調查問卷
#     def test_about_diaochawenjuan(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#
#         self.chrome.ClickLink("登入頁面,調查問卷")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"登入頁滿意度調查")
#         pass
# #點選立即註冊
#     def test_about_lijizhuce(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("立即註冊")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"個人註冊")
#         pass
#
# #點選開啟手機京東
#     def test_about_shoujijingdong(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("手機京東")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"手機京東 - 京東")
#         pass
#
# #點選京東隱藏政策
#     def test_about_yincangzhengce(self):
#         # 獲取當前頁面
#         self.current = self.chrome.getCurrentWindow()
#         # 點選關於我們
#         self.chrome.ClickLink("《京東隱私政策》")
#         # #設定休眠
#         self.chrome.switch_window(self.current)
#         # 獲取title
#         self.title = self.chrome.getTitle()
#         # 進行斷言
#         self.assertEqual(self.title, u"京東隱私政策")
#         pass
#
#     def test_about_wjmm(self):
#         self.chrome.class_click("login-tab-r")
#         self.current = self.chrome.getCurrentWindow()
#         self.chrome.ClickLink("忘記密碼")
#         self.chrome.switch_window(self.current)
#         self.title = self.chrome.getTitle()
#         self.assertEqual(self.title, u"找回密碼")
#-*- coding:utf-8 -*-
#匯入包
from selenium import webdriver
#匯入休眠時間包
import time
#導包
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
#宣告類
class ChromeDriver(object):
    #開啟瀏覽器的方法
    #self是指類本身,如果將變數賦值給self,也就是賦值給類本身的意思
def ChromeDriver_start(self,url):
        #開啟瀏覽器
self.driver = webdriver.Chrome(executable_path="E:\qudong\chromedriver")
        #設定視窗最大化
self.driver.maximize_window()
        #開啟指定網頁
self.driver.get(url)
        #設定休眠 主要儘量少使用強制休眠,多使用顯示休眠
pass
#關閉瀏覽器的方法
def ChromeDriver_close(self):
        #關閉瀏覽器
self.driver.quit()
        pass
#通過內容實現顯示休眠
def TimeLink(self,messasge):
        #檢查元素
msg = (By.LINK_TEXT,messasge)
        #設定休眠
WebDriverWait(self.driver,20,0.5).until(EC.presence_of_all_elements_located(msg))
        pass
#封裝一個通過內容查詢控制元件的方法
def FindLink(self,message):
        #呼叫顯示休眠
        #self.TimeLink(message)
        #查詢
return self.driver.find_element_by_link_text(message)
    #點選的方法
def ClickLink(self,message):
        self.FindLink(message).click()

    #獲取當前頁面的方法
def getCurrentWindow(self):

        return self.driver.current_window_handle
    #獲取所有視窗進行切換的方法
def switch_window(self,current):
        #獲取所有的視窗
self.allwindow = self.driver.window_handles
        #使用for迴圈進行切換
for window in self.allwindow:
            if window != current:
                self.driver.switch_to_window(window)
        pass
#查詢class
def test_zhdl(self,message):
        return self.driver.find_element_by_class_name(message)
    def class_click(self,message):
        self.test_zhdl(message).click()
       #查詢id
def czid(self,message):
        return  self.driver.find_element_by_id(message)
    def id_click(self,message):
        self.czid(message).click()
    #獲取title的方法
def getTitle(self):

        return self.driver.title