利用Selenium实现图片文件上传的两种方式

2016年3月21日 307点热度 0人点赞 0条评论
↑ 点击上方“ 51Testing软件测试网 ”关注我们


图片

  在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同。

  一、直接利用Selenium实现

  这种方式是最简单的一种实现方式,但是依赖于开发的实现。

  当开发直接使用file类型的input实现图片文件的上传时,实例:<input type="file" name=''filename">

  我们可以直接利用Selenium提供的方法实现文件上传,但是因为依赖开发的实现,而且目前实现基本都会利用框架,所以这种实现方式有很大的局限性。

  首先找到元素:WebElement  file = driver.findElement(By.name("filename"));

  给此元素设置值:file.sendKeys("E:\testfile.jpg");

  二、利用AutoIT工具实现

  目前,一般实现文件图片上传的方式都是有一个按钮,点击之后直接调用操作系统自身的弹框,选择文件后,实现上传。因为Selenium不支持调用操作系统的操作,所以这种情况下,利用Selenium无法完成图片上传,这时,我们可以选择借用其他工具实现。

  1、AutoIT介绍

  AutoIT是一个类似脚本语言的软件,利用此软件我们可以方便的实现模拟键盘、鼠标、窗口等操作,实现自动化。

  2、实现原理

  利用AutoIT编写合适的脚本,然后将脚本编译成可执行文件,在自动化实现时,直接调用此脚本实现文件上传。

  备注:编写脚本和编译,需要借助AutoIT提供的工具,但是脚本编译成可执行文件后,可以直接使用,不再需要安装AutoIT。

  3、自动化调用

  AutoIT脚本编译成可执行文件后,放到本地的某一个目录下

  自动化实现过程中,需要上传图片时,首先定位到【上传】字样文本,点击此按钮

  执行编辑后的可执行文件,实现文件上传

  实例:

  假如,要上传图片的页面及html显示如下:

图片

  利用AutoIT编写的脚本编译后的可执行文件的存放目录:E:\upfile.exe

  自动化实现代码:

图片

  4、AutoIT安装

  下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/

  AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:

图片

  其中分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。

.......

查看全文内容,请点击左下角“阅读原文”吧!

图片

51960利用Selenium实现图片文件上传的两种方式

这个人很懒,什么都没留下

文章评论