最近因工作需要,学习了一门新的语言python3;python是一门比较容易上手的语言,对于从事java开发的人来说,他们之间的有很多相同的地方;语法上很相似,只是python的语法相对于java来说更加的随意,简单些!
对于准备学习python语言的新人,个人推荐学习python3,因为python3和python2在语法和使用上有很大不同!
具体的python环境搭建和集成,请自行百度,没有很复杂!
我个人搭建的python3自动化项目地址:
https://github.com/lvhong622333/autoTest.git
这里我主要讲解的是自动化测试组件selenium!
一、安装导入
可以使用pip3 install selenium命令直接在python3中安装selenium组件
在项目中使用时,在文件中添加如下代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
二、声明浏览器对象
from selenium import webdriver
#声明使用google浏览器
browser = webdriver.Chrome()
#声明使用火狐浏览器
browser = webdriver.Firefox()
#声明使用edge浏览器
browser = webdriver.Edge()
#声明使用PhantomJS
browser = webdriver.PhantomJS()
#声明使用Safari浏览器
browser = webdriver.Safari()
三、访问页面
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.taobao.com')
print(browser.page_source)
browser.close()
四、查找单个元素
browser.find_element_by_id('q')
browser.find_element_by_css_selector('#q')
browser.find_element_by_xpath('//*[@id="q"]')
等等
五、查找多个元素
browser.find_elements_by_css_selector('.service-bd li')
browser.find_elements(By.CSS_SELECTOR, '.service-bd li')
等等
六、元素的交互方式和动作
请参考:http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.remote.webelement
http://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains
七、执行javascript脚本
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
八、获取元素属性
from selenium import webdriver
from selenium.webdriver import ActionChains
browser = webdriver.Chrome()
url = 'https://www.zhihu.com/explore'
browser.get(url)
logo = browser.find_element_by_id('zh-top-link-logo')
print(logo.get_attribute('class'))
print(input.text)
print(input.id)
print(input.location)
print(input.tag_name)
print(input.size)
九、切换iframe
browser.switch_to.frame('iframeResult')
browser.switch_to.parent_frame()
十、等待
隐式等待:
browser.implicitly_wait(10)
显示等待
wait = WebDriverWait(browser, 10)
input = wait.until(EC.presence_of_element_located((By.ID, 'q')))
python3 + selenium搭建自动化测试项目
最新推荐文章于 2021-02-09 06:19:14 发布