uI自动化-- python(1)
一、环境搭建
1.根据当前本地浏览器版本下载相对应的chromedriver(其他浏览器同)
2.在pycharm配置环境
(1)创建新的项目
(2)创建虚拟环境
preferences-- project-- python interpreter--show all--‘+’
(3)添加依赖
a.preferences--搜索添加-- apply--ok
b.控制台 pip install xxx
3.将项目添加到git托管,配置不托管文件
选中文件--add to .gitignore
二、UI自动化最基本操作
driver = webdriver.Chrome( executable_path="/Users/kongweicheng/utils/selenium/chromedriver") # 打开Chrome浏览器并实例化,指定chromedriver地址 time.sleep(1) # 主进程睡眠1秒 driver.get("https://www.baidu.com") # 打开'https://www.baidu.com' time.sleep(1) driver.find_element_by_id("kw").send_keys("kongweisheng") # 定位到输入框(按id),并对输入框进行操作(在输入框输入kongweisheng) driver.find_element_by_id("su").click() # 定位到搜索按钮(按id)并点击该按钮 time.sleep(10) driver.quit() # 关闭该浏览器进程
三、pageobject
import time from selenium.webdriver.common.by import By from selenium import webdriver class TestOne: def setup_class(self): self.driver = webdriver.Chrome(executable_path="/Users/kongweicheng/utils/selenium/chromedriver") self.driver.get("https://www.baidu.com") def teardown_class(self): time.sleep(5) self.driver.quit() def test_baidu(self): self.driver.find_element(By.ID, 'kw').send_keys("python") time.sleep(2) self.driver.find_element(By.ID, 'su').click()
按页面分层,最基本功能为一个方法,一般将一个页面封装成一个class
注意:
1.setup()与setup_class的区别:setup()在每一个用例执行时都会执行该前置条件的方法,setup_class在执行用例前只执行一次该方法
2.setup()与teardown()的区别:前置条件与后置条件,一般将数据清理放在setup()中,数据在执行用例之前清除能够有效避免代码执行意外未能将数据完全清理干净