python实现ecshop开源商城登陆自动化测试

python实现ecshop开源商城账号登陆自动化测试,需求:提取excel表格里的测试数据进行自动化登陆账号,判断实际结果与预期结果是否匹配。

导入包:

import xlrd
from selenium import webdriver
from time import sleep

获取自动化测试数据:

def get_test_data(path):
    date = xlrd.open_workbook(path)
    sheet_names = date.sheet_names()
    table = date.sheet_by_name(sheet_names[0])
    rows = table.nrows
    for i in range(1, rows):
        row_content = table.row_values(i)
        tcid = (row_content[0])
        username = (row_content[1])
        password = int(row_content[2])
        expected = (row_content[3])
        test_case(tcid, username, password, expected)

测试用例部分:

def test_case(tcid, username, password, expected):
    driver = webdriver.Chrome()
    driver.get('http://localhost/user.php')
    sleep(4)

    driver.find_element_by_name('username').send_keys(username)
    sleep(2)

    driver.find_element_by_name('password').send_keys(password)
    sleep(2)

    driver.find_element_by_name('submit').click()
    sleep(4)

    a = isElementExist(driver, '/html/body/div[6]/div[2]/div/div/div/font')

    if a:
        b = "登陆成功"
        if expected == b:
            print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆成功。测试结果Pass")
        else:
            print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆失败。测试结果Fail")
    else:
        b = "登陆失败"
        if expected == b:
            print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆失败。测试结果Pass")
        else:
            print(tcid + "\t预期结果为:" + expected + ",实际结果:登陆成功。测试结果Fail")

    driver.quit()

异常处理:

def isElementExist(a, element):
    flag = True
    driver = a
    try:
        driver.find_element_by_xpath(element)
        return flag
    except:
        flag = False
        return flag

执行测试:

if __name__ == '__main__':
    get_test_data("D:\\MY_TEST\\selenium\\login\\info.xlsx")

测试数据:
在这里插入图片描述
最后:
人生苦短,我用python… 哈哈继续努力学习!


版权声明:本文为weixin_44546340原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。