您的位置:首页 > 娱乐 > 明星 > 简单个人网站源码_广州白云区建站外贸公司_短视频如何引流与推广_台州seo服务

简单个人网站源码_广州白云区建站外贸公司_短视频如何引流与推广_台州seo服务

2024/10/5 20:22:28 来源:https://blog.csdn.net/xq_123dd/article/details/142382211  浏览:    关键词:简单个人网站源码_广州白云区建站外贸公司_短视频如何引流与推广_台州seo服务
简单个人网站源码_广州白云区建站外贸公司_短视频如何引流与推广_台州seo服务

自动化测试

        Web自动化测试是使用软件工具自动执行对Web应用程序的测试,以提高效率和准确性。它通常涉及编写测试脚本,模拟用户交互,并验证应用程序的功能、性能和安全性。常用的工具包括 Selenium、Cypress 和 TestCafe。通过自动化测试,团队可以更快地发现问题,确保应用程序的质量。

Selenium工具介绍

Selenium 是一个广泛使用的开源自动化测试工具,主要用于Web应用程序的测试。它支持多种编程语言,包括 Java、Python、C#、Ruby 和 JavaScript,能够与不同的浏览器(如 Chrome、Firefox 和 Safari)兼容。

主要组件

  1. Selenium WebDriver:用于与浏览器进行直接交互,模拟用户操作,如点击、输入文本和导航。
  2. Selenium IDE:一个浏览器插件,允许用户录制和回放测试用例,适合快速创建测试原型。
  3. Selenium Grid:允许并行测试,可以在不同的浏览器和操作系统上同时运行测试,提高测试效率。

优点

  • 跨浏览器兼容性:支持多种浏览器和操作系统。
  • 灵活性:可以使用多种编程语言进行测试开发。
  • 强大的社区支持:大量的文档、教程和社区资源。

使用场景

  • 功能测试:验证Web应用程序的功能是否正常。
  • 回归测试:确保新代码未破坏现有功能。
  • 性能测试:评估应用程序在不同负载下的表现。

元素定位

  • NAME元素定位

    • 通过元素的 name 属性定位。
    • driver.find_element(By.NAME, "element_name")
    • 使用场景:表单元素(如输入框、按钮)。
  • ID元素定位

    • 通过元素的 id 属性定位,通常效率最高。
    • driver.find_element(BY.ID, "element_id")
    • 使用场景:页面中唯一标识的元素。
  • CLASS_NAME元素定位

    • 通过元素的 class 属性定位。
    • driver.find_element(BY.CLASS_NAME, "element_class")
    • 使用场景:多个元素共享同一类名。
  • TAG_NAME元素定位

    • 通过元素的标签名称定位(如 div, button)。
    • driver.find_element(BY.TAG_NAME, "button")
    • 使用场景:查找特定类型的元素。
  • XPATH元素定位

    • 通过 XPATH 表达式定位,灵活强大。
    • driver.find_element(BY.XPATH, "//button[@id='element_id']")
    • 使用场景:复杂的DOM结构定位。
  • CSS_SELECTOR元素定位

    • 通过 CSS 选择器定位元素。
    • driver.find_element(BY.CSS_SELECTOR", "button.element_class")
    • 使用场景:使用样式选择器的灵活定位。
  • LINK_TEXT元素定位

    • 通过链接的完整文本定位。
    • driver.find_element(BY.LINK_TEXT, "Click Here")
    • 使用场景:定位超链接。
  • PARTIAL_LINK_TEXT元素定位

    • 通过链接的部分文本定位。
    • driver.find_element(BY.PARTIAL_LINK_TEXT, "Click")
    • 使用场景:当链接文本较长且变化时。

Selenium 复数定位方法

在 Selenium 中,复数定位指的是一次性获取多个元素的方法。可以使用以下方法:

  1. FIND_ELEMENTS_BY_NAME通过 name 属性获取多个元素。
  2. FIND_ELEMENTS_BY_CLASS_NAME通过 class 属性获取多个元素。
  3. FIND_ELEMENTS_BY_TAG_NAME通过标签名称获取多个元素。
  4. FIND_ELEMENTS_BY_XPATH通过 XPATH 表达式获取多个元素。
  5. FIND_ELEMENTS_BY_CSS_SELECTOR通过 CSS 选择器获取多个元素。
  6. FIND_ELEMENTS_BY_LINK_TEXT通过链接的完整文本获取多个元素(通常只适用单个链接)。
  7. FIND_ELEMENTS_BY_PARTIAL_LINK_TEXT通过链接的部分文本获取多个元素。
  8. FIND_ELEMENTS_BY_ID通过 id属性获取多个元素。

鼠标操作

  1. click(on_element=None) ——单击鼠标左键
  2. click_and_hold(on_element=None) ——点击鼠标左键,不松开
  3. context_click(on_element=None) ——点击鼠标右键
  4. double_click(on_element=None) ——双击鼠标左键
  5. drag_and_drop(source, target) ——拖拽到某个元素然后松开
  6. drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某 个坐标然后松开
  7. key_down(value, element=None) ——按下某个键盘上的键
  8. key_up(value, element=None) ——松开某个键
  9. move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标
  10. move_to_element(to_element) ——鼠标移动到某个元素
  11. move_to_element_with_offset(to_element, xoffset, yoffset) — —移动到距某个元素(左上角坐标)多少距离的位置
  12. perform() ——执行链中的所有动作
  13. release(on_element=None) ——在某个元素位置松开鼠标左键
  14. send_keys(*keys_to_send) ——发送某个键到当前焦点的元素
  15. send_keys_to_element(element, *keys_to_send) ——发送某个键到 指定元素
    1. ActionChains基本用法

              首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行,而是会将所有的操作按顺序存放在一个队列里,当你调用perform()方法时,按照队列里面的顺序进行执行。其中调用的perform()方法必须放在ActionChains方法最后。

    2. from selenium import webdriver
      from selenium.webdriver import ActionChains
      driver=webdriver.Chrome()
      driver.get("http://192.168.X.XXX")
      driver.find_element_by_id("taskId").send_keys("1")
      #输入任务ID
      driver.find_element_by_id("loginName").send_keys("student")
      #输入用户名
      time.sleep(3)
      a=driver.find_element_by_id("loginName")
      ActionChains(driver).double_click(a).perform()
      #双击操作
      time.sleep(3)
      ActionChains(driver).context_click(a).perform()

      键盘操作

Keys方法列表

回车键 Keys.ENTER

删除键 Keys.BACK_SPACE

空格键 Keys.SPACE

TAB键 Keys.TAB

回退键 Keys.ESCAPE

刷新键 Keys.F5

Shift键 Keys.SHIFT

ECS键 Keys.ESCAPE

上键 Keys.ARROW_UP

下键 Keys.ARROW_DOWN

左键 Keys.ARROW_LEFT

右键 Keys.ARROW_RIGHT

'='键 EQUALS

全选(Ctrl+A) Keys.CONTROL,'a'

复制(Ctrl+C) Keys.CONTROL,'c'

剪切(Ctrl+X) Keys.CONTROL,'x'

粘贴(Ctrl+V) Keys.CONTROL,'v'

Keys的基本用法:

在使用Keys方法时,可以分为两大类

(1)先使用ActionChains类将鼠标移动到需要进行键盘操作的位置,然后进行键盘操作。

(2)先通过元素定位方式进行元素定位,然后通过send_keys()进行键盘操作。

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver=webdriver.Chrome()
driver.get("http://192.168.X.XXX")
driver.find_element_by_id("phone").send_keys(Keys.CONTROL,'a')
time.sleep(3)
#全选信息
driver.find_element_by_id("phone").send_keys(Keys.CONTROL,'c')
time.sleep(3)
#复制信息
driver.find_element_by_id("phone").send_keys(Keys.CONTROL,'v')
time.sleep(3)
#粘贴信息
driver.find_element_by_id("phone").send_keys(Keys.CONTROL,'v')
time.sleep(3)
#粘贴信息

今天就到这里为止吧,下次再续!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com