python自动化测试框架unittest+读取excel文件内容

写在前面:本人测试小白,自动化更是还没入门,业务逻辑也是为所欲为而分,如有高手路过,还望指点一二,不胜感激。php

第一部分python

==================================================================================web

1.先对各业务进行封。chrome

browser模块负责浏览器以及登陆的输入的操做;浏览器

controlBussiness模块负责登陆成功或失败与否的判断;测试

excleReader模块从excle文件中读取相关数据;.net

test模块负责测试用例。如图:命令行

2.先实现一个自动登陆(本人用的是方维p2p相关项目),代码在browser模块中实现code

from selenium import webdriver
from excleReader.ExcleReader import ExcleReader

class Browser:
    def __init__(self,cUrl="http://192.168.201.135/fw/m.php"):
        self.cUrl = cUrl
        self.chromeB =  webdriver.Chrome()

    def inputUrl(self):
        self.chromeB.get(self.cUrl)

    def inputUser(self):
        self.chromeB.find_element_by_name("adm_name").send_keys("admin")
        self.chromeB.find_element_by_name("adm_password").send_keys("admin")
        self.chromeB.find_element_by_name("adm_verify").send_keys("888")
        self.chromeB.find_element_by_id("login_btn").click()

3.在test模块进行登陆测试blog

from browser.Browser import Browser

class Test:
        browser = Browser()
        browser.inputUrl()
        browser.inputUser()

4.这样就能实现一个自动登陆的脚本

第二部分

==================================================================================

下面实现从excle文件中读取登陆用户名和密码

1.先下载好xlrd包并解压,命令行,进入setup.py所在的目录,运行setup.py install。 具体安装:https://my.oschina.net/bysu/blog/783887

2.excleReader模块的代码

import xlrd  #导入xlrd包

class ExcleReader:
    def __init__(self,strPath="c:\\data.xlsx"):  
        self.strPath = strPath
    def readExcle(self,sheet,row,col):
        workEx = xlrd.open_workbook(self.strPath)
        sheetEx = workEx.sheet_by_index(sheet)
        cellValue = sheetEx.cell_value(row,col)
        return cellValue

    def getValue(self,sheet,row,col):
        return self.readExcle(sheet,row,col)

3.修改browser模块的代码

from selenium import webdriver
from excleReader.ExcleReader import ExcleReader

class Browser:
    def __init__(self,cUrl="http://192.168.201.135/fw/m.php"):
        self.cUrl = cUrl
        self.chromeB =  webdriver.Chrome()

    def inputUrl(self):
        self.chromeB.get(self.cUrl)

    def inputUser(self,sheet,row,col):
        # self.chromeB.find_element_by_name("adm_name").send_keys("admin")
        # self.chromeB.find_element_by_name("adm_password").send_keys("admin")
        self.chromeB.find_element_by_name("adm_name").send_keys(ExcleReader().getValue(sheet,row,col))
        self.chromeB.find_element_by_name("adm_password").send_keys(ExcleReader().getValue(sheet,row,col+1)) #在用户名的下一列
        self.chromeB.find_element_by_name("adm_verify").send_keys("888")
        self.chromeB.find_element_by_id("login_btn").click()

4.在test模块进行登陆测试

from browser.Browser import Browser

class Test:
        browser = Browser()
        browser.inputUrl()
        browser.inputUser(0,1,0) #读取excle表格中第一个表的第2行,第1列

 

5.这样就能实现一个从excle表格中读取数据并自动登陆的脚本

 

第三部分

================================================================================

1.到controlBussiness模块实现登陆状况的判断

a.登陆成功过

未完待续======

相关文章
相关标签/搜索