• 15
  • 15
分享

  robotframework其实就是一个自动化的框架,想要进行什么样的自动化测试,就需要在这框架上添加相应的库文件,而用于webui页面自动化测试的就是selenium库。关于robotframework框架的搭建我这里就不说了,今天就给大家根据一个登录的实例来讲一讲,selenium库的相关应用吧。  要想运用selenium库,首先是导入此库的信息。在哪里导入呢?

  那就是在我们已经安装好的robotframework的操作页面即ride中导入。

  打开ride,按照以下顺序依次建立项目:

  1.新建测试项目

1.png

  2.新建测试套件,在已经建好的项目下建立测试套件

1-1.png

  3.新建测试用例,在已经建立好的套件下,创建自动化测试用例

1-2.png

  建好以后的结构如下:

1-3.png

  在建好的目录上左键单击套件名称,就会出现如下页面:

1-4.png

  单击右上方的library标签,就会弹出如下页面:

1-5.png

  在此页面,你可以直接在name栏输入selenium库文件名点OK,也可以点browse按钮,选择selenium库文件名,一般我是直接输入名称来导入的。

  在这里输入的库文件名是Selenium2Library,导入成功后,在setting项目页面上就会一条黑色的记录展示出来,下图是导入了多个库以后的展示,如果导入失败,库名称将显示为红色,这时候你就要查看日志找原因了,这里就不多说了。

1-6.png

  库文件可以导入在套件下,也可以在根目录下导入,不同位置导入的使用的范围不同,其它没有区别。

  库文件导入成功以后,我们就可以开始webui页面自动化测试脚本的编写了。

  我们就拿登录163邮箱来做一个测试吧。

  登录163邮箱的测试用例大概是这样的:

  ·首先是打开163邮箱登录页面

  ·其次是输入正确的账号,密码

  ·然后登录

  ·最后是检查登录是否成功。

  我们根据已经写好的测试用例步骤及检查结果来写这条自动化测试脚本,写好的脚本大概是这样的:

1-7.png

1-8.png

  结合这个脚本给大家讲讲这里面这些字段的用法:

  Teardown:这个字段可以理解为后处理,就是自动化脚本跑完做的一个处理,在运用selenium库进行自动化测试的时候,这里面一般是设置的close browse,就是自动化用例脚本跑完之后,关闭浏览器。

  Timeout:超时时间设置,这个设置的作用就是防止自动化脚本在执行测试的时候卡在某一个环节一走卡着,不能进行下一条脚本测试。这个时间的设置要根据当前你测试脚本花费的时间来填写,并没有固定值。

  这两个是测试脚本的一个预设值,接下来的内容就是登录163邮箱的一个实际测试脚本了。

  我们的所看到的截图中的第一列蓝色的字体的关键字,其实也就是我们对应的操作动作。

  Open browse:就是打开浏览器,这一行所对应的第二列就是我们要登录的163邮箱的地址,所对应的第三列就是浏览器类型,我们常用的浏览器类型有IE,chrome,firefox等,这个根据实际填写,所要说明一点的是,无论你输入的是哪个浏览器,在python的安装目录下,一定要有这个浏览器相应的驱动文件,有驱动文件版本必须与你电脑上当前安安装的浏览器版本是一致的,否则脚本运行就会报错。

1-9.png

  Sleep:在打开浏览器这个动作后我用了一个关键字sleep,其实就是等待的意思,因为打开浏览器网页到页面完全展示出来是有一定时间的,所以在这里我用了一个sleep关键字,时间是根据网页完全展示出来的一个估算时间,你可以用wait until element contains这样一个关键字来等待。

  Select frame:在完全展示出来后,这里又用一个select frame来选择一下窗口,sele为什么要用这个,是因为输入账号,密码,登录这几个选择在网页中用了这样的一个嵌套的格式,如果不用select frame来选择一下,无论我们账号,密码输入的定位多正确,自动执行测试的时候都无法输入账号,密码从而进行登录。

  那么如何知道这个页面用了frame呢,就要通过查看网页的html代码来看了。像这个登录页面,当选中账号输入框时其位置代码相应位置被标蓝,顺着这个位置向上查它的父路径,发现有一个iframe标签,选中iframe 标签这段代码,发现整个账号,密码框,登录所在的位置都被选中,说明这几个元素是在iframe标签下的,我们要定位这几个元素,需先选中切换到里面去。

1-10.png

  像这种需要进行选择切换的还有网页内嵌套表格,通过跳转链接打开新的网页等,大家在进行元素定位时要多留意相应的标签,在进行元素定位时,使用正确的选择关键字。

  如从百度首页通过链接进入hao123网页,因为是打开新的网页,在这里就用了switch window。

1-11.png

  Input text:账号,密码输入,这行对应的第二列就是账号密码框所对应的位置,这个位置是如何定位出来的,这里用到了了selenium库中的元素定位。元素定位常用的有CSS,Xpath,name,id等,这里就不详述了,不会的可以到网上搜一下。

  此两行所对应的第三列,就是相应的用户名和密码。在这里我把用户名和密码设置成一个变量,所以在用的时候是直接引用了变量名。

  变量的设置很简单的,选中套件或根目录右键单击,在弹出的菜单中选中new scalar,,在接下来弹出的页面中,设置变量名,和变量值点OK就可以了,如用户名变量的设置:

1-12.png

  Click element:这是一个单击鼠标左键的动作,所对应的第二列是此元素的位置路径。鼠标左键单击还有click button,click link,click button关键字一般用于元素type为button时,如果元素 type不是button类型的,用这个关键字,就不会执行这个鼠标动作。

  Click link一般用于这个元素包含有超链接时,如百度首页的hao123图片,就带了一个超链接属性:

1-13.png

  好了,接着上面的脚本来说,在登录动作后,这里又用了一个sleep,其实这里也可以用wait until这样的关键字的,这个看个人习惯,不论用哪一个等待,这个地方都是要等几秒中才能进行下一步操作的,原因同上。

  unselect frame:这个是和select frame同对出现的,使用了select frame关键字之后,在跳出这个格式以后,一定要释放掉。

  Element should be enabled:这是登录成功后的一个验证,验证页面是否跳转到了我们所期望的页面中去,那么这里的所对应的第二列的元素位置就是跳转以后可以代表这个页面的的一个元素的位置。

  好了,用selenium库进行webui页面测试的相关内容就给大家介绍到这里。最后再给大家说一下,selenium库关键字有很多,要用哪个,怎么用记不住的话,可以在ride用例编写页面按F5 键查看哦。



作者:薇薇   

来源:http://www.51testing.com/html/45/n-4479945.html


2021 问卷礼物图.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 读者提问:免费好用的电脑记事本软件有推荐的吗 ?阿常回答:有,这 4 款电脑记事本软件,不仅免费实用,还支持多平台同步,快来试试吧!1、飞书文档(PC 版、网页版、手机版、iPad 版)官网地址:https://docs.feishu.cn2、石墨文档(PC 版、网页版、手机版、iPad 版、小程序)官网地址:https://shimo.im3、语雀(PC 版、网页版、手机版、iPad 版)官网地址:https://www.yuque.com4、幕布(PC版、网页版、手机版)官网地址:https://mubu.com/home阿常碎碎念:哇塞,这 4 款电脑记事本软件全部支持网页版(...
            0 0 1477
            分享
          •   一条豆瓣帖子昨日晚间引发热议,有网友发现爱奇艺把一些剧集的在线人数关闭了,也就是无法查看当前有多少人同时在看。  而评论区则称,一些老剧集比如《庆余年》等依然可以看到在线人数,如下图所示显示“2000 人+”。  昨日晚间,“爱奇艺把在线人数关了”话题也登顶微博热搜,阅读量达 1.2 亿。  IT之家测试发现,一些老剧集的在线人数也无法显示了,比如《狂飙》中的“与你同看”没有显示人数。  对此,爱奇艺客服回应称:因功能升级优化,暂不显示人数。为了增加陪伴感,部分影片仍会显示具体人数,请以前端显示为主。  财报信息显示,爱奇艺 2024 年一季度总营收为 79 亿元,同比下滑 5%;非美国通...
            0 0 429
            分享
          • 今天我们来聊一下测试管理者的修身齐家治国平天下。话题有点大,咋一看,这话题有点玄乎,是不是?不知道大家会不会有点懵?修身齐家治国平天下出自:《礼记·大学》原文:物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。释义:修身:提高自身品德修养;齐家:整顿家庭,使家和睦;治国:治理国家;平天下:天下太平。理解:这是句激励人生、成就人生的历史名言。修身、齐家者容易,治国、平天下者难也。即便有此抱负,也未必有此机会。所以,修身先为本,"穷则独善其身、达则兼济天下"嘛,修身的办法就是物格、知至、意诚、心正,物格、知至、意诚、心正的大体意...
            0 0 2262
            分享
          •   特斯拉正式发布了新近改款的 Model 3 轿车的性能版车型,以应对不断下滑的需求。新版 Model 3 的起价为 52990 美元,配备了新的主动减震系统和自适应悬挂系统,具有更好的操控性和舒适性,电池续航里程为 296 英里(约合476.36公里),从 0 加速到每小时 60 英里只需 2.9 秒,最大功率为 510 马力。  与之前的 Model 3 Performance 相比,新版本的峰值功率增加了 32%,峰值扭矩增加了 16%,阻力减少了 5%。特斯拉表示,与上一代车型相比,新款车型的能耗更低。这部分归功于新一代驱动装置以及后扩散器和扰流板。该车的前端和后端也进行了小幅整容,...
            0 0 532
            分享
          •   迪斯尼一直在暗示 Disney Plus 品牌的一些重大变化。最近几天,很多用户在查看自己的电视、平板电脑或手机时发现,这款流媒体应用换上了新标识--标志性的迪士尼蓝色被发光的绿色背景取代。  新标识引起了争议:有些人认为这是对熟悉的设计进行了不必要的简化;有些人则赞赏新标识与其他流媒体服务看起来并不一样;有些人则怀疑新标识的颜色是否真的变了,还是他们一直以来都看错了电视。  这种新的绿色被称为"Aurora",既是为了向极光致敬,也是为了向《睡美人》中的主角致敬。(我不太记得那部电影中出现过这种绿色,但不管怎么说。)这是迪斯尼蓝和 Hulu 绿的混合色--这里有一个非...
            0 0 916
            分享
      • 51testing软件测试圈微信