跳到主要内容

质量保证

不同硒切换技术的比较

一个人在电脑上工作,几行代码叠加在他身上。

在进一步讨论之前,让我们先了解为什么以及何时使用switch方法。框架、通知和窗口可以使用硒切换方法进行切换。在框架、警报或窗口内执行一个操作之前,我们的测试脚本需要切换。如果不切换,应用程序将引发异常。switchTo()提供对不同的Selenium开关方法的访问。为了传输将来的命令,switchTo()返回一个目标位置。

切换到帧

有4种方法来选择一个框架,只有一种方法去到父上下文:

  • 使用WebElement
  • 使用名称或ID:
    • driver.switchTo () .frame(“iframe”);
  • 使用索引:
    • driver.switchTo () .frame (0);
  • 留下一个框架

切换到警报

弹出框是通知用户或请求某种操作的警报。有3种不同类型的通知和4种不同的事情,你可以做一个警报。三种不同的警报类型是:

  • 信息警报:包含1个按钮和一条消息。
  • 确认警报:该警报有一条消息和两个按钮。
  • 提示警报:提示警报消息有两个按钮和一个文本输入框。

警报通常显示为灰色禁用背景。该网站是灰色的,因为它不能用于执行操作。这个警报需要某种方式来处理。

接下来的测试脚本切换到警报,如果弹出的图像是警报,则接受警报。

@Test public void demoSwitchToAlert () {driver.get("https://blog.perficient.com/");.accept .alert driver.switchTo () () ();}

切换到窗口

所有窗口都有一个由Selenium分配的不同的字母数字id。id用于在每个窗口之间切换控制,称为窗口句柄。有两种获取窗口句柄的技术:

  • 使用getWindowHandle()获取当前窗口句柄。
  • 使用getWindowHandles()获取窗口句柄列表。

下面的语句行获取窗口句柄和窗口句柄:

  • 字符串mainHandle = driver.getWindowHandle():获取主页窗口句柄。
  • Set allHandles = driver.getWindowHandles():获取两个窗口句柄。

测试快乐!

留下回复

你的电邮地址将不会公布。必填字段已标记

这个网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

Mangesh Sonwane

Mangesh Sonwane是Perficient在那格浦尔GDC的助理技术顾问。他在Drupal和AEM有1年以上的经验。除此之外,他热衷于学习新的变化和扩大他在自动化方面的知识。他对自己的工作非常投入,随时准备面对任何具有挑战性的项目。

更多来自作者

关注我们
推特 Linkedin 脸谱网 Youtube Instagram