频次最高的38道selenium面试题及答案(下)[通俗易懂]

频次最高的38道selenium面试题及答案(下)[通俗易懂]20、selenium中隐藏元素定位,你该如何做?隐藏元素可以正常定位到,只是不能操作(定位元素和操作元素是两码事,操作元素是指click、clear、send_keys等这些方法)。我们可以用js来操作隐藏元素。js和selenium不同,只有页面上有的元素(在dom里面的)都能正常操作。21、如何判断一个页面上元素是否存在?法1:用try…except在代码块加上法2:用elements定义组元素方法然后根其元素个数len()<1存在返回True,不存在则返回F.

大家好,又见面了,我是你们的朋友全栈君。

20、selenium中隐藏元素定位,你该如何做?

 隐藏元素可以正常定位到,只是不能操作(定位元素和操作元素是两码事,操作元素是指click 、clear 、send_keys等这些方法)。我们可以用js来操作隐藏元素。js和selenium不同,只有页面上有的元素(在dom里面的)都能正常操作。

21、如何判断一个页面上元素是否存在?

法1:用try…except 在代码块加上
法2:用elements定义组元素方法 然后根其元素个数len()<1 存在返回True, 不存在则返回False
法3:结合WebDriverWait和excepted_conditions条件判断(强烈推荐)。
例子:WebDriverWait(driver,30,1).until(excepted_conditions.title_contains(u”软件测试部落”)) #判断title,每间隔1秒判断一次,30秒超时,存在返回True,不存在则返回False

22、page object设置模式中,是否需要在page里定位的方法中加上断言?

一般不要,除非是要判断页面是否正确加载。

23、driver.close() 和driver.quit() 有什么区别?

driver.close() 关闭用户当前正在使用的Web浏览器窗口,quit()方法用于关闭程序已打开的所有窗口。

24、selenium 上传文件操作,需要被操作对象的type属性是什么?

file

25、selenium如何处理web弹窗?js弹窗?

需要使用driver.switch_to.alert()

26、如何在webdriver中调用应用程序?

driver.get(‘url’) 或者 driver.navigate().to(‘url’)

27、selenium中常见的异常?

NoSuchElementException、ElementNoInteractac、tableException、NoAlertPresentException

28、怎样去选择一个下拉框中的value=xx的option?

需要二次定位 :①拿到所有的option;②遍历option的value并与后台拿到的值进行比较(相同则选择该option)。

29、点击链接以后,selenium是否会自动等待该页面加载完毕?

不会。所以有的时候,当selenium并未加载完一个页面时再请求页面资源,则会误报不存在此元素。所以首先我们应该考虑判断,selenium是否加载完此页面。其次再通过函数查找该元素。

30、selenium 是否可以调用js来对dom对象进行操作?

可以

31、selenium 是否可以向页面发送鼠标滚轮操作?

不能。(可利用javaScript来实现拖拽页面滚动条。)

32、selenium可以处理window弹窗吗?

selenium本身是不可以处理windows弹窗的,但是可以借助AutoIT小工具来完成对windows弹窗的操作,比如 上传下载附件等。

33、如何在定位元素后高亮元素(以调试为目的)?

使用javascript将元素的border或者背景颜色改成黄色或其他颜色即可。

34、selenium是否有读取excel文件的库?

没有,需要借助第三方工具。例如Apache PIO插件。

35、上传图片的几种方式?

send_keys和AutoIT工具实现.

36、selenium是否支持桌面应用软件的自动化测试?

不支持。selenium是根据网页元素的属性来确定范围元素的。

37、selenium是否支持用例的执行的引擎。

引擎好比就是一个发动机。selenium是没有关于测试用例和测试套件管理和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执行。例如Java中有Junit或者testNG,python中有unittest单元测试框架。

38、列举selenium的局限性有哪些?

Selenium仅支持基于Web的应用程序的测试;
无法使用Selenium测试移动应用程序,可以选择Appium进行移动端功能测试;
验证码和条形码阅读器无法使用Selenium进行测试;
Selenium本身不具有生成测试报告的功能,以JAVA为例,需要结合第三方框架如TestNG或JUnit来生成测试报告。

点击链接加入群聊【软件测试交流群】:icon-default.png?t=LA92https://jq.qq.com/?_wv=1027&k=1j7OStF7

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151444.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • H2数据库入门_H2数据库越来越大

    H2数据库入门_H2数据库越来越大一、H2简介  1、H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。  H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。  它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。  H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型…

    2022年10月12日
  • php 一句话木马简介

    php 一句话木马简介一句话木马就是一段简单的代码,就这短短的一行代码,就能做到和大马相当的功能。一句话木马短小精悍,而且功能强大,隐蔽性非常好,在入侵中始终扮演着强大的作用。一句话木马工作原理<?php@eval($_POST[‘shell’]);?>这是php的一句话后门中最普遍的一种。它的工作原理是:首先存在一个名为shell的变量,shell的取值为HTTP的POST方式。Web服务器对shell取值以后,然后通过eval()函数执行shell里面的内容。实例:<?php@ev

  • [Ubuntu] How to install memcache in Ubuntu 10.10 with xampp

    [Ubuntu] How to install memcache in Ubuntu 10.10 with xamppWhatineedtodownload:zlib-1.2.5.tar.gzhttp://zlib.net/zlib-1.2.5.tar.gzlibxml2-2.7.2.tar.gzftp://xmlsoft.org/libxml2/libxml2-2.7.2.tar.gzphp-5.3.4.tar.bz2http://ar.php.net/distributions/php-5.3.4.t…

  • TP5 分页样式[通俗易懂]

    TP5 分页样式[通俗易懂]自定义分页类放到extend\page\,这里也可以自己决定,命名空间对了就行    在extend\page\下新建Page.php把以下代码粘过去&lt;?phpnamespacepage;//+———————————————————————-//|ThinkPHP[WECAN…

  • Idea激活码永久有效Idea2020.1.4激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2020.1.4激活码教程-持续更新,一步到位Idea激活码永久有效2020.1.4激活码教程-Windows版永久激活-持续更新,Idea激活码2020.1.4成功激活

  • DDPG存疑

    DDPG存疑存疑的点:value函数的参数是(s,a)。离散状态下s,a作为横纵坐标来获取Q值。q-learningDQN情况下,输出的是最大Q值。PG里面输出的是action的概率分布。DDPG里,actor网络输出的是Action。critic网络里输出的是Q值,依然和s,a有关,由s,a确定。只不过这里确定的方式是①将s,a分别经过一个输出维度为30的网络后 得到的值 相加(两个网络分别为:(s_dim,30)(a_dim,30)。②将s,a维度拼接再经过网络计算(这个网络的维度是(s_d

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号