自动化测试

  • 1.定位元素的方式
  • 2.浏览器操作
    • 2.1浏览器最大化
    • 2.2浏览器高宽
    • 2.3浏览器前进后退
    • 2.4浏览器滚动
    • 2.5键盘按键
    • 2.6键盘组合键
    • 2.7鼠标事件双击,右击
    • 2.8定位一组元素
    • 2.9多层框架的定位
    • 2.10层级定位
    • 2.11下拉框处理
    • 2.12alert处理
    • 2.13div定位
    • 2.14上传文件

1.定位元素的方式

id,name,class name,link text,partial lin text,tag name,xpath,css selector

from selenium import webdriver
import timedriver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
# 通过元素id(全局唯一)定位元素,然后对元素进行操作
# class name有可能不唯一,id全局唯一
# driver.find_element_by_id("kw").send_keys("杨舒予")
# driver.find_element_by_name("wd").send_keys("杨舒予")
# driver.find_element_by_class_name("s_ipt").send_keys("杨舒予")
# driver.find_element_by_id("su").click()
# link text定位
# driver.find_element_by_link_text("视频").click()
# partial_link_text部分内容
# driver.find_element_by_partial_link_text("视").click(
# tag name,不是唯一的
# driver.find_element_by_tag_name("input").send_keys("焦迈奇")
# driver.find_element_by_tag_name("input").click()
# xpath
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("沈以诚")
# driver.find_element_by_xpath("//*[@id='su']").click()
#css selector
driver.find_element_by_css_selector("#kw").send_keys("花瓣")
driver.find_element_by_css_selector("#su").click()
time.sleep(8)
# 关闭驱动
driver.quit()

2.浏览器操作

2.1浏览器最大化

driver.maximize_window()

2.2浏览器高宽

driver.set_window_size(100,100)

2.3浏览器前进后退

 driver.back() driver.forward()

2.4浏览器滚动

js1 = "var q=document.documentElement.scrollTop=10000"
driver.execute_script(js1)

2.5键盘按键

#先导包
from selenium.webdriver.common.keys import Keys

2.6键盘组合键

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_id("kw").send_keys("杨舒予")
driver.find_element_by_id("su").submit()
time.sleep(3)
#全选
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
#剪贴
driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
time.sleep(3)
driver.find_element_by_id("kw").send_keys("杨洋")
driver.find_element_by_id("su").submit()
time.sleep(5)
driver.quit()

2.7鼠标事件双击,右击

from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.maximize_window()
driver.find_element_by_id("kw").send_keys("杨舒予")
driver.find_element_by_id("su").submit()
time.sleep(3)
#右击百度一下按钮
loacte=driver.find_element_by_id("su")
ActionChains(driver).context_click(loacte).perform()
time.sleep(3)
driver.find_element_by_id("kw").clear()
#双击百度一下按钮driver.find_element_by_id("kw").send_keys("123")
btn=driver.find_element_by_id("su")
ActionChains(driver).double_click(btn).perform()
time.sleep(3)
driver.quit()

2.8定位一组元素

from selenium import webdriver
import time
import osdriver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/一.html")
driver.get(url)
time.sleep(3)
# driver.find_element_by_id("c1").click()
# driver.find_element_by_id("c2").click()
# driver.find_element_by_id("c3").click()
# driver.find_element_by_id("c4").click()
inputs=driver.find_elements_by_tag_name("input")
for input in inputs:if input.get_attribute('type')=="checkbox":input.click()
time.sleep(3)driver.quit()

2.9多层框架的定位

from selenium import webdriver
import time
import osdriver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/frame.html")
driver.get(url)
driver.maximize_window()
driver.switch_to.frame("f1")
driver.find_element_by_link_text("click").click()time.sleep(3)time.sleep(3)
# driver.quit()

2.10层级定位

from selenium import webdriver
import time
import os
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Firefox()
url = "file:///" + os.path.abspath("E:/路径/level_locate.html")
driver.get(url)
driver.maximize_window()
time.sleep(3)
driver.find_element_by_link_text("Link1").click()
time.sleep(3)
btn=driver.find_element_by_link_text("Another action")
ActionChains(driver).move_to_element(btn).perform()
time.sleep(6)
driver.quit()

2.11下拉框处理

from selenium import webdriver
import time
import os
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/啊大学学习/大三课程/上课笔记/测试/selenium2html/drop_down.html")
driver.get(url)
driver.maximize_window()
time.sleep(3)#tag name
options=driver.find_elements_by_tag_name("option")
# for option in options:
#     if option.get_attribute('value')=="10.69":
#         option.click()# #css selector
# driver.find_element_by_css_selector("#ShippingMethod > option:nth-child(3)").click()#数组的方式定位
options[2].click()time.sleep(6)
driver.quit()

2.12alert处理

from selenium import webdriver
import time
import os
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/alert.html")
driver.get(url)
driver.maximize_window()
time.sleep(3)
driver.find_element_by_id("tooltip").click()
time.sleep(3)
#获取弹出框
alert=driver.switch_to.alert#关闭弹出框
alert.accept()
time.sleep(3)
driver.quit()
from selenium import webdriver
import time
import os
from selenium.webdriver.common.action_chains import ActionChains
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/send.html")
driver.get(url)
driver.maximize_window()
time.sleep(3)
driver.find_element_by_tag_name("input").click()
time.sleep(3)
#获取弹出框
alert=driver.switch_to.alert
alert.send_keys("杨赛")
time.sleep(3)
#关闭弹出框
alert.accept()
time.sleep(3)
driver.quit()

2.13div定位

from selenium import webdriver
import time
import os
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/modal.html")
driver.get(url)
driver.maximize_window()
time.sleep(3)
driver.find_element_by_id("show_modal").click()
time.sleep(3)
driver.find_element_by_id("click").click()
time.sleep(3)
# 定位div
div=driver.find_element_by_class_name("modal-footer")
#在定位一族元素
buttons=div.find_elements_by_tag_name("button")
#点击close
buttons[0].click()
time.sleep(3)
driver.quit()

2.14上传文件

from selenium import webdriver
import time
import os
driver = webdriver.Chrome()
url = "file:///" + os.path.abspath("E:/路径/upload.html")
driver.get(url)
driver.maximize_window()
#上传文件
driver.find_element_by_tag_name("input").send_keys("E:\\路径\\1.png")time.sleep(3)
driver.quit()

自动化测试(定位元素的方式,浏览器操作)相关推荐

  1. APP自动化测试定位元素位置

    一,ID定位方法 如下图所示,使用uiautomator2 工具定位7的位置,只需要获取此位置的resource_id 信息即可 如果有resource-id属性就取resource-id值,有id属 ...

  2. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  3. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)...

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  4. 软件测试 自动化测试 Web自动化测试01 selenium 定位元素方法 元素操作 自动化脚本开发

    文章目录 1 自动化测试概述 1.1 测试的目的 1.2 自动化测试的优点 1.3 自动化测试的缺点 1.4 自动化测试工具 1.5 自动化测试流程 2 selenium基础 2.1 selenium ...

  5. 提交表单自动刷新_Web自动化测试:元素的基础操作和浏览器基础操作

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  6. web自动化如何在不同浏览器运行_Web自动化测试:元素的基础操作和浏览器基础操作...

    上一节,我们了解了如何定位元素,其实也有涉及对于元素的操作,这一节我们就详细的介绍一下对于元素的操作和对于浏览器的一些操作 一.对于元素的基础操作: clear():清除输入框内的文本 send_ke ...

  7. selenium课程笔记3-使用selenium中的webdriver对浏览器操作-页面元素定位及操作

    1.打开浏览器,打开网页 1 from selenium import webdriver 2 dr=webdriver.Chrome() 3 dr.get('http://www.baidu.com ...

  8. 船长带你看书——《selenium2 python 自动化测试实战》(2)浏览器操作

    浏览器操作 # coding: utf-8from selenium import webdriver from time import sleepdriver = webdriver.Firefox ...

  9. [Python从零到壹] 九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、键盘鼠标操作)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  10. selenium之浏览器、元素、鼠标等操作总结

    1    控制浏览器 Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法,比如浏览器的大小以及浏览器后退.前进按钮等. 1.1  控制浏览器窗口大小 在不同的浏览 ...

最新文章

  1. 人脸识别技术商用再加速 安企步履坚定
  2. Python基础问题
  3. P1417 烹调方案 (0/1背包+贪心)
  4. java学习与总结:索引
  5. python快速上手下载_初学者如何尽快上手python
  6. 数据库复杂查询,多表多联
  7. 爬虫-请求图片并打开显示图片
  8. 北上深 | 商汤招聘智能视频和数字人算法研究员(全职/实习)
  9. 百度 mysql的sql优化_SQL优化问题
  10. Confluence与Jira安装及后期迁移问题记录
  11. 机器 – 程序 – 人 (2)
  12. android启动模式
  13. 7-5 全量复制和部分复制
  14. redis java驱动_java中通过配置文件的方式(Jedis驱动)使用Redis
  15. 用HTML写会员注册页面
  16. 确保着法合规:象棋通用规则解析
  17. Python|LeetCode习题答案汇总
  18. ubuntu 安装浏览器flash插件
  19. 十万部冷知识:“澳大利亚”为什么属于亚洲球队?
  20. 小程序支付报错:向微信请求统一下单失败:商户号该产品权限未开通,请前往商户平台>产品中心检查后重试

热门文章

  1. agx 安装ros opencv_CARLA与Autoware和ROS的联合仿真安装过程
  2. 如何管理好一个研发管理团队
  3. H5游戏定制,分享专业的TOM游戏制作企业营销平台
  4. 老徐WEB:js入门学习 - 认识javascript
  5. DP转HDMI/VGA方案设计电路图参考|AG6320参考电路原理图PCB电路图
  6. matlab快速解方程,matlab如何解方程 matlab解方程 matlab如何解方程
  7. matlab模拟出现较大误差是什么原因,关于使用lsqcurvefit拟合曲线出现误差巨大的问题...
  8. oracle. 设置参数 sid,更改Oracle数据库的SID
  9. MySQL Cluster测试过程中的错误汇总--ERROR 1296 (HY000)等等
  10. 标准差np.std()