python web自动化实现登录多次 利用ddt数据驱动读取账号信息

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 03:46   108   0

web自动化实现多个用户登录某系统,使用python代码实现

首先创建读取测试数据的方法,代码如下:

import unittest
from time import sleep
from ddt import ddt, data   #引入ddt驱动
from selenium import webdriver
from xlrd import open_workbook    #引入读取Excel文件的标准库
import baseconfig as fp   # 公共读取本地路径方法
xlsfile = fp.basedir + '\\a_ddt\\RunList.xlsx'
#该方法可以独立封装,在这里调用
def getExcelTestData():
    openExcelFile = open_workbook(xlsfile)
    # 打开Excel文件
    getSheet = openExcelFile.sheet_by_name("Sheet2")
    # 获取工作表
    rowNumber = getSheet.nrows
    # 获取行数
    dataList = []
    # 数据List
    for i in range(1, rowNumber):
        # 从第二行开始遍历
        dataList.append(getSheet.row_values(i))
        # print("数据:"+str(dataList))
        # 把每个单元格的数值存放到dataList中
    return dataList
@ddt
class LoginPortal(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome()
        self.base_url = "你要访问系统的地址"
        self.driver.get(self.base_url)
        self.driver.maximize_window()
        sleep(3)

    @data(*getExcelTestData())
    # 传递数据
    def test_loginPortal(self, data):
        #Excel中的入参
        userName, adminId,password,checkTxt = tuple(data)  #checkTxt 该参数为Excel的预期结果
        # searchTerm = tuple(data)
        driver = self.driver
        driver.find_element_by_id('username').send_keys(userName)
        driver.find_element_by_id('oprId').send_keys(adminId)
        driver.find_element_by_id('passwdDiv_ocx').send_keys(password)
        driver.find_element_by_id('loginBtn').click()
        sleep(3)
        # responseText = driver.find_element_by_id("queryList").text
        responseText = driver.find_element_by_link_text("账户首页").text
        print(responseText)
        self.assertEqual(responseText, checkTxt) # 页面元素与Excel预期结果是否匹配

        print('登录成功,我将休息3s后退出....')

    def tearDown(self):
        self.driver.close()
        self.driver.quit()

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

我们看下Excel的内容:

运行结果:

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP