一、安装测试环境
要想实现UI自动化,首先我所使用的是:
python3.10
selenium
webdriver,这里一定要下载与自己浏览器版本一致,不然不知道出什么问题(下载地址:
chromedriver./index.html)
二、小试牛刀
1、尝试能不能启动项目
#coding=utf-8
from selenium import time #导入时间
from selenium import webdriver#导入webdriver包
driver = webdriver.Chrome()
driver.get("") #拿百度为例,如果打不开多半是废了
driver.maximize_window() #将浏览器最大化显示
time seleep(5) #强制等5秒
driver.close() #关闭chrome
driver.quit() # 退出chrome
2、要学习的定位
通过 id 定位:find_element_by_id()
#selenium3.3.4版本后,语法优化成find_element
(By.XPATH,'//[@id=]'),前面的也能用,不过一条杠看的很不舒服,还是选择适应一下
通过 name 定位:find_element_by_name()
通过 class 定位:find_element_by_class_name()
通过 tag 定位:find_element_by_tag_name()
通过 link 定位:find_element_by_link_text()
通过 partial_link 定位:find_element_by_partial_link_text()
通过 xpath 定位:find_element_by_xpath()
通过 css 定位:find_element_by_css_selector()
以上我用的最多的是xpath定位,因为谷歌无脑复制就行。除以上定位外,有些诡异的元素是真定位不到,比如input下拉框,到现在也没弄明白,造业啊
3、登录自己的系统
import timefrom selenium import webdriverfrom selenium.webdriver.support.select import Selectfrom mon.by import Bydr = webdriver.Chrome()url="http://xxxxxx"username="zyh001"pwd="xxxxxx"dr.get(url)#dr.maximize_window() #屏幕最大化dr.implicitly_wait(10)dr.find_element(By.XPATH, '//*[@id="username"]').send_keys(username)dr.find_element(By.XPATH, '//*[@id="password"]').send_keys(pwd)dr.find_element(By.XPATH, '//*[@id="login-main-box"]/div[2]/form/div/button/span').click()dr.implicitly_wait(10)# name="zyh"# print("登录测试用例")# b=dr.find_element(By.XPATH,"/html/body/div[1]/div[1]/section/div[2]/header[2]/div/div[3]/span/span").text# if name==b:#print("登录成功")# else:#print("登录失败")
到这里一个登录就结束啦,当然还没
差的多呢,一个完整的UI自动化需要...算了这次就到这里