セレン+のpythonは、テストを自動化 - テストを自動化されたExcelデータ・セレン+のpythonを読む - ログイン

図1は、(次の場合、純粋なデジタルデータ、テキストに設定することに注意)データをエクセル

機能が優れてパッケージファイルを読み込むための2、

ファイル名:read_excel.py

インポートxlrdする

クラスReadExcelを():
     DEF  __init__(セルフ、excelPath、SHEETNAME = " シート1 " ):
        self.data = xlrd.open_workbook(excelPath)
        self.table = self.data.sheet_by_name(SHEETNAME)
        鍵として最初の行を取得します値 
        self.keysの=のself.table.row_values(0)
        行の数を取得します 
        self.rowNum = self.table.nrows
         #は、列の合計数を取得 
        self.colNum = self.table.ncols 

    DEF dict_data(セルフ):
         IF self.rowNum <= 1印刷" 行の合計数が1未満である" 
            R&LT = [] 
            J = 1。
             ための I における範囲(-self.rowNum 1 ):
                S = {}
                2行目の値に対応する値からは、かかる 
                値= self.tableを。 row_values(J)
                 のために X (self.colNum)範囲:
                    S [self.keys [X] = 値[X] 
                r.append(S)
                J。+ = 1
        戻りR 

場合 __name__ == " __main__ " 
    ファイルパス = " D://gmy//seleniumTest//sel_test//cases//ddt_data.xlsx " 
    データ = ReadExcel(ファイルパス)
     プリント(data.dict_data())

3、テストケース

ファイル名:test_readexcel.py

import ddt
import unittest
from common.read_excel import ReadExcel
import os
from selenium import webdriver
from common.base import Base

curpath = os.path.dirname(os.path.realpath(__file__))
excelpath = os.path.join(curpath,"login.xlsx")
print(excelpath)
data = ReadExcel(excelpath)
testdata = data.dict_data()

@ddt.ddt
class Test(unittest.TestCase):
    # 定位手机号
    username = ("name", "loginName")
    # 定位密码
    psw = ("name", "loginPassWord")
    # 定位登录按钮
    loginbutton = ("id", "loginBtn")
    # 定位提示信息
    message = ("className", "toast-message")

    @classmethod
    def setUpClass(cls):
        cls.driver = webdriver.Firefox()
        cls.login = Base(cls.driver)
    def setUp(self):
        self.driver.get("url地址")
    def tearDown(self):
        #清空cookies
        self.driver.delete_all_cookies()

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

    @ddt.data(*testdata)
    def test_login(self,data):
        '''测试登录{0}'''
        username = data['user']
        password = data['psw']
        exp = data['exp']
        # 输入手机号
        self.login.send(self.username, username)
        # 输入密码
        self.login.send(self.psw, password)
        # 点击登录按钮
        self.login.click(self.loginbutton)
        # 获取结果
        result = self.login.find(self.message).text
        print("我是结果:", result)
        self.assertEqual(result, exp)

if __name__ == '__main__':
    unittest.main()

base.by 文件查看selenium+python自动化测试--登录

4、运行结果

 

 最后,附带读取excel函数封装参考地址:https://www.cnblogs.com/yoyoketang/p/6701950.html

おすすめ

転載: www.cnblogs.com/yudx/p/11277921.html
おすすめ