python+selenium UI脚本用例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+selenium UI脚本用例相关的知识,希望对你有一定的参考价值。

1.最近在用公司的一个工具拉取一些业务数据时发现有很多重复的页面操作,每次都要重复的选择机构与对应的表,点击添加操作(十几家机构加起来要手工添加两百多次),于是用python写了一个UI脚本让机器去执行这些重复的操作,即省时效率又高。

#coding:utf8
from selenium import webdriver
from config.params import *
from selenium.webdriver.support.ui import Select
import time

class pullData():

path="E:/chromedriver.exe"

def __init__(self,url):
    self.url=url
    self.wd = webdriver.Chrome(self.path)

def openBrowser(self):
    self.wd.get(self.url)
    self.wd.maximize_window()

def closeBrowser(self):
    self.wd.quit()

def findeleOrg(self):
    hospitals = self.wd.find_elements_by_css_selector("select[name=‘hospitalCode‘]>option")
    return hospitals

def findeledept(self):
    hospitalDatatype = self.wd.find_elements_by_css_selector(‘select[name$="DataType"]>option‘)
    return hospitalDatatype

def deleteCords(self):
    while True:
        cords=self.wd.find_elements_by_css_selector("table[border=‘1‘] tr>td:nth-of-type(8)>input[value=‘删除‘]")
        if len(cords)==0:
            break
        cords[0].click()
        time.sleep(1)    #定位元素前后要加等待时间,特别是刷新的页面

def hospitalConfig(self):

    self.wd.find_element_by_partial_link_text(u"医院视图SQL").click()
    hospitals=self.findeleOrg()
    hospitalDatatype=self.findeledept()

    for num in range(len(hospitals)-1):
        hospitals = self.findeleOrg()
        hospitals[num].click()

        for numdata in range(len(hospitalDatatype)-1):
            hospitals = self.findeleOrg()
            hospitals[num].click()
            hospitalDatatype = self.findeledept()
            time.sleep(1)
            hospitalDatatype[numdata].click()
            time.sleep(2)
            self.wd.find_element_by_css_selector("input[type=‘submit‘]").click()
            self.wd.find_element_by_id("submit_id").click()
            self.wd.find_element_by_partial_link_text(u"医院视图SQL").click()

if name=="main":
pullD = pullData(url)
pullD.openBrowser()
pullD.hospitalConfig()
pullD.deleteCords()

以上是关于python+selenium UI脚本用例的主要内容,如果未能解决你的问题,请参考以下文章

Python3+Selenium Web自动化测试案例分享⑹——unittest组织测试用例

Python + Selenium实现web端的UI自动化

UI 自动化测试平台解决方案使用 Selenium IDE 录制 UI 自动化测试脚本

Python-自动化测试面试

Python-selenium-自动化测试模型

Selenium的PO模式:Page Object Model