川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

Selenium 4.0版本使用初体验篇

作者:川石学院 日期:2021-12-13 15:25:44 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“Selenium 4.0版本使用初体验篇”。

Selenium 4.0版本使用初体验篇(图1)

  在使用3.141版本长达三年之久后,Selenium团队在上个月2021年10月发布了4.0版本,并在上周发布了4.1版本。

Selenium 4.0版本使用初体验篇(图2)

  那么终于发布的新版本上有何新内容呢,跟之前的使用有何差异呢?

  修改细节不提,关注以下对测试人员影响较大的几项:

  1. Find方法的改动。

  •   原有的find_element_by_id(), find_element_by_name()等8种元素定位方式不建议使用了,而是改用find_element(by, value)方法。

  4.0版本中调用该方法,pycharm里的提示:

Selenium 4.0版本使用初体验篇(图3)

  替换为:

Selenium 4.0版本使用初体验篇(图4)

  当然需要By类的导入。 同时要替换的还有find_elements()方法。

  2. 创建浏览器驱动对象时的参数设置

  •   查看文档会看到初始化方法里的很多参数标记为Deprecated:

Selenium 4.0版本使用初体验篇(图5)

  如果按照老的方式进行参数传递,执行时会给出告警信息,而是通过service或者options参数传递:

  DeprecationWarning: executable_path has been deprecated, please pass in a Service object

Selenium 4.0版本使用初体验篇(图6)

  传递驱动路径老的写法:

  driverpath = "./resources/chromedriver.exe"

  self.driver = webdriver.Chrome(executable_path=driverpath)

  新的写法:

  service = Service(executable_path="../resources/chromedriver.exe")

  self.driver = webdriver.Chrome(service=service)

  3. 新版本提供打开新的窗口的功能

  在老版本我们只能通过JS的方式打开新窗口,在新版本直接通过switch语句打开即可。

  self.driver.switch_to.new_window()

  4. ActionChains的使用的影响

  之前的reset_actions方法是无效的,如今不需要任务列表的重置,每次perform后任务列表即清空了。

  ele = self.driver.find_element(By.NAME,"username")

  action.send_keys_to_element(ele, "aa")

  action.perform()

  time.sleep(3)

  action.perform() # 只输入一次aa

  time.sleep(3)

  以上四项内容,是目前操作时涉及的操作。更多差异后续再做详解。大体来看,更改不大,但是项目中也不要随意升级哟,要修改的细节还是比较多的。


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2021-12-13 15:25:44
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2021-12-13 15:25:44
  • 国外的月亮也不一定比国内测试猿的年薪美~2021-12-13 15:25:44
  • 建筑工程专业朱同学成功转行为软件测试人!2021-12-13 15:25:44
  • 财务管理专业转行软件测试月薪甩会计几条街!2021-12-13 15:25:44
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2021-12-13 15:25:44
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2021-12-13 15:25:44
  • 文科生转行软件测试照样拿下高薪15K!2021-12-13 15:25:44
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2021-12-13 15:25:44
  • 毕业1年,迷茫的他最终选择转行软件测试2021-12-13 15:25:44