多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

如何使用AutoIt和Selenium阻止Windows弹出窗口?

更新时间:2022-04-18 09:33:04 作者:多测师 浏览:212

  当我们全神贯注做某件很重要事情时,电脑页面上突然弹出窗口,这会使人感到非常的恼怒。所以处理这些让人烦心的弹出窗口及显得很有必要了。

如何使用AutoIt和Selenium阻止Windows弹出窗口?

  在这篇文章中我们将了解到如何使用AutoIt和Selenium自动化测试阻止Windows弹出窗口。其中包括:

  1、如何在Selenium WebDriver中处理windows弹出窗口

  2、通过把控件从Selenium WebDriver传输到AutoIt来上传或下载文件和图像

  如何从程序中调用AutoIt脚本

  但首先,我们需要来了解AutoIt是什么,如何安装和使用它。

  什么是AutoIt?

  AutoIt V3是一款免费软件工具,可用于在任何Windows环境中执行任何自动化操作。Autolt脚本由BASIC语言编写。它可以模拟击键,鼠标移动和窗口/控制操作的任何组合行为。

  通过AutoIt,我们可以为我们的日常操作(如文件输入/输出操作,应用程序处理,资源监控和管理任务等)准备脚本。但是在本文中,我们只讨论在Selenium WebDriver中如何处理弹出窗口。

  在通过Selenium进行自动化或使用其他工具进行自动化时,我们经常会遇到Windows弹出窗口。由于Selenium仅限于自动化浏览器使用,所以桌面窗口超出了范围。Web应用程序有时需要与桌面一起执行文件的下载和上传。有使这些工作流程自动化的工具,如AutoIt,Robot Framework,Silk Test等。

  我们可以通过将我们的控件从Selenium WebDriver传输到AutoIt 来上传或下载文件或图像。所以我们需要从程序中显式调用AutoIt脚本。

  AutoIt下载和安装--分布指南

  一旦下载,请在系统上安装AutoItV3设置,按照以下步骤进行安装。

  步骤#1-点击安装文件

  步骤#2-接受许可协议

  步骤#3-根据操作系统选择64位或32位选项,在这里选择的是64位

  步骤#4-单击下一步,然后通过双击选择要执行的操作:这里选择是运行脚本

  步骤#5-选择所需组件,然后单击下一步。也可以选择所有选中的默认值

  步骤#6-选择文件安装位置,然后单击安装。安装需要几秒钟。完成后,安装脚本编辑器

  AutoIt脚本编辑器 - 安装

  它是一个帮助查找命令的编辑器。

  如何编写AutoIt脚本:

  · 通过AutoItV3 Windows信息工具识别Windows控件,64位或32位,具体取决于您的操作系统

  · 点击Finder工具,鼠标悬停在想要的属性对象上

  · 它将捕获弹出窗口的属性,如标题,类,位置,大小,样式,句柄等

  AutoIt V3窗口信息查找工具

  · 然后借助上述捕获的属性,在SciTE脚本编辑器或记事本中编写脚本,并使用.au3扩展名保存脚本

  · 现在使用AutoIt脚本将.au3脚本编译为EXE转换器,将.au3文件转换为.exe文件

  · 在该编辑器中提供源和目标文件夹位置,然后单击转换按钮,它将创建一个.exe文件

  AutoIt脚本到Exe转换器:

  · 或者右键单击保存.au3脚本,它将显示编译选项。选择编译到64位或编译到32位选项,并将在同一文件夹中创建.exe文件。

  · 遇到Selenium测试用例中的下载或上传弹出窗口,执行.exe文件

  · 在脚本中调用.exe文件的语法是:Runtime.getRuntime().exec("path of exe file");

  如何下载文件?

  可以使用以下AutoIt脚本来处理下载弹出窗口:

  我们已经在前面的步骤中获得文件下载弹出属性,如Tile,Class,Position和Size等等。现在使用标识的Windows控件构建一个AutoIt脚本:

  1 WinWait("[TITLE:Opening ; CLASS:MozillaDialogClass]","", 10) //Explanation - "It will wait for the title - opening , type- mozilladialogclass, for 10 secs

  2 If WinExists("[TITLE:Opening ; CLASS:MozillaDialogClass]") Then // if condition

  3 WinActivate("[TITLE:Opening ; CLASS:MozillaDialogClass]") // if that title is found it will activate and perform below actions

  4 Send("{DOWN}") // perform down arrow operation

  5 Sleep(10) // wait for 10 secs

  6 Send("{TAB}") // perform tab operation

  7 Sleep(10) // wait for 10 secs

  8 Send("{TAB}") // perform tab operation

  9 Sleep(10) // wait for 10 secs

  10 Send("{ENTER}") // press enter button

  11 EndIf // end of if condition

  如何上传文件?

  您可以使用以下AutoIt脚本来处理上传窗口弹出窗口,使用标识的Windows控件构建AutoIt脚本:

  1 WinWaitActive("File Upload") // enter the title of the pop up

  2 Send("Path of the file to enter") // enter the path of the file to upload

  3 Send("{ENTER}") / press enter

  保存并编译此脚本,并在需要上传文件的selenium脚本中执行该.exe文件

  如何输入用户名和密码到上述登录弹出窗口?

  可以使用以下AutoIt脚本来处理登录弹出窗口:

  1 WinWaitActive("Authentication Required","","10")

  2 If WinExists("Authentication Required") Then

  3 Send("username{TAB}")

  4 Send("Password{Enter}")

  5 EndIf'

  如何测试AutoIt脚本是否显示为预期结果,而不是将其集成到selenium脚本中?

  按照以下步骤:

  · 在编译脚本之前,双击.au3文件 - 它将显示脚本中的错误

  · 如果没有发现错误,请将您的脚本转换为.exe文件

  · 手动生成文件下载流行情景

  · 现在弹出窗口点击.exe文件,能够接受弹出并下载文件

  AutoIT的缺点:

  · 它只适用于Windows操作系统

  · 具有基本的编码能力

  · 虽然这很有用,但是对于初学者来说却有点复杂

  AutoIt还能做什么?

  除了Windows弹出窗口之外,我们还可以使用AutoIt来自动执行文件搜索,参考下面的示例:

  在计算机中进行文件搜索脚本:

  1 $search = FileFindFirstFile("*How*") // enter the search string

  2 If $search = -1 Then // condition not satisfied show error message

  3 MsgBox(1, "Error", "No files/directories matched the search pattern")

  4 Exit

  5 EndIf

  6 While 1

  7 $file = FileFindNextFile($search)

  8 If @error Then ExitLoop

  9 MsgBox(4096, "File:", $file)

  10 WEnd

  11 FileClose($search)

  编译并保存此脚本,在当前工作目录中执行该.exe文件。它将搜索以"How"开头的所有文件,并显示一个消息框。

  使用时应该注意的一点:

  · 不要忘记用.au3扩展名保存脚本

  · 编译脚本并创建一个.exe可执行文件

  · 弹出窗口或任何您想要处理的内容应该事先存在,以便.exe文件可以正常工作

  以上内容为大家介绍了自动化测试中的如何使用AutoIt和Selenium阻止Windows弹出窗口,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部