Node.js结合selenium做web自动化测试第五课

Hello小伙伴们,愉快的周末结束了,别忘了学习,今天回顾第五课内容。主要分三部分

下面开始我的表演了:

一.定位元素的By.js方法

它这是几个意思呢?它的意思是在js方法里传一段javascript代码来找到元素进行定位,又懵了吧,咱们有话进百度说

前期准备做好,打开浏览器,定位方法By.js,要传javascript代码,那后面跟个function方法,没毛病

接下来,坐稳了,要放大招了

咦?在哪里,在哪里见过你,这段代码如此熟悉,别一时想不起。

没错你们见过,不是在梦里,在上节课的笔记里,定位元素后面举过一个动态定位的栗子,道理一样的,只不过这里把这个值return回来,这一段在console里面的代码就是一段Javascript代码,多做练习多比较你就明白了,我先帮你到这噢

后面当然是被我们玩烂了的sendKeys啦,记得把K大写,这里初学者很容易出问题。

二.在时间控件上输入日期

如果在这种情况下,想订张五一的票出去浪,那得点击后面的小箭头吧,定位元素去吧,去点个编辑器的功夫,日期页面就不见了,跟上次那个动态的定位有一拼,怎么玩,前面说了这么多铺垫,你心里肯定能有点数了

找到日期框对应的元素

这一段不啰嗦了,javascript代码

既然javascript代码可以直接将时间定位到我们想要的日期,那怎么把它写到Node.js的自动化代码里面去呢?那必须调方法啊,这次调这个executeScript

不用findElement了,直接调用直接输入,开心吧

三.cucumber的“背景”功能用法

这里我们结合Cnode社区的发帖功能来说

创建一个新的剧本,两个场景,发帖和改贴,有没有发现两个场景下面有一个相同的功能点是登陆,同样,如果新加一个删除帖子的场景,第一步要做的还是登陆操作,既然这是一个公共的操作,可以把它单独提取出来吗,答案是:当然可以!这就是我们要说的“背景”

下面,我们在最开始的地方新建一个场景,就是我们之前做过的登陆场景,还是这个地方,把类型改成背景

之后你就会发现,下面每一个场景操作之前都会先走背景这个步骤

之前登陆步骤写过辣么多,现在再逐条的写,想不想哭,别哭,有办法,看到这里的搜索按钮了吗,哎,点一下

左边这些熟悉吗,当然啊,化成灰都认识,之前写过的登陆步骤嘛,点住了往右拖就行了,不用重新写

接下来是按套路出牌,补充发帖场景,发送文字的场景凭大家的聪明才智都是小case,下面我们举一个特殊一点的例子,帖子里发送图片的场景

首先点击“发布话题”按钮进入发布话题页面

这个框里面的代码是干什么用的呢,就是我们点击了“发布话题”按钮它应该跳转发布话题页面吧,那是不是真的进入了这个页面呢,我们需要做一个断言,这一段就是断言,断言的依据是页面的url地址,先去页面里拿到页面的真实url地址,赋值给变量url,然后用getCurrentUrl的方法读取点击按钮后跳转的地址链接,assert断言如果两个地址一致,说明跳转的页面是正确的。

接下来进行上传图片

那么问题来了,开发者工具无法获取到我们要上传的图片的路径

点击上传图片,找到input,type是file的控件,可以看到后面它接收的是image,那就没错了,接下来就调用sendKeys发送图片路径就OK了

不好意思,太长右边没截全

这里windows的路径一定要注意一下,要用双斜杠“\\”,不然找不到图片还报错哟

上面有两段sleep,这里是对两个步骤之间加了个等待操作,为什么这样做呢?不知道大家有没有过这样的经历,那就是一个网页打开的速度没有赶上定位元素的速度,例如上面这个操作里,点击了图片跳转到上传图片这个过程需要3秒钟,但是,下一步的查找元素操作主要1.5秒,那就意味着,当要查找的元素还没出现时,定位元素已经开动了,所以你的操作结果里一定会有一个报错叫做元素找不到,你的第一反应肯定是定位方法出了问题,于是把所有方法都换了一边发现还是不对,其实问题的根本在于需要一个给页面缓冲的时间。

注意:sleep后面的数字,它的单位是毫秒,所以3000意味着3秒,可不是3000秒啊

到这里,本节课要介绍的内容基本结束了,手痒的小伙伴赶紧打开工具开玩吧

更多精彩尽在腾讯课堂

https://ke.qq.com/course/281565#tuin=173f40be,周一至周五晚上8:00

测试工具CukeTest下载地址http://www.cuketest.com/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容