分享⼗道Selenium⾯试题(附答案)
软件测试培训也是⼀种提升技术及迅速转⾏的辅助⼿段,不管在哪学你都必须先去试听,看看讲课的风格及氛围,是否通俗易懂,课件是否⽼化,⼯具是否过时,课程内容及项⽬是否具有实战性,主要就是了解项⽬实战周期是多久,⼯具是否属现在主流,还有你⾃⼰喜不喜欢讲师的讲课风格,如果不喜欢讲师的上课风格也会对你的学习进度造成⼀定的影响,今天给⼤家分享Selenium的⾯试题。希望在学习的⼩伙伴都能到更好的⼼仪⼯作。
问题1:Selenium是什么,流⾏的版本有哪些?
Selenium是基于Web的最流⾏的UI⾃动化测试⼯具。它提供了⼀组⽀持多种平台的公开API(例如Linux,Windows,Mac OS X等)。此外,像Google Chrome,Mozilla Firefox,Internet Explorer和Safari等所有现代浏览器都可以⽤来运⾏Selenium测试。它也涵盖了Android平台,其中Appium是实现Selenium Webdriver界⾯的⼯具,⽤于移动⾃动化。
值得注意的是,除了许多后来的⼩型版本之外,硒还有三个主要版本:
Selenium 1.0或Selenium RC,于2004年初发布,提供了⼀个使⽤服务器与浏览器交换命令和响应的API集。
Selenium 2.0或Selenium Webdriver,在2011年中推出,并在Selenium功能中引⼊了⼀系列重⼤改进。这些新的API完全取代了服务器组件,并与⽬标浏览器本地交互。
Selenium 3.0,这个版本是在2016年末发布的⼤版本。它带来的主要变化是引⼊Webdriver API的W3C规范,⽤于浏览器⾃动化。也就是说,每个主要的浏览器都会有⾃⼰的Webdriver API来实现功能。
问题2:你如何从命令⾏启动Selenium RC?
// 简单的启动Selenium RC的⽅法是
java -jar selenium-server.jar
// 在浏览器中运⾏⼀套Selenese脚本
java -jar selenium-server.jar –htmlSuite
问题3:在我的机器端⼝4444不是免费的。我怎样才能使⽤另⼀个端⼝?
//你可以在运⾏selenium服务器时指定端⼝为-
Java -jar selenium-server.jar -port 5555
问题4:什么是Selenium Server,它与Selenium Hub有什么不同?
Selenium Server是使⽤单个服务器作为测试节点的⼀个独⽴的应⽤程序。 Selenium hub代理⼀个或多个Selenium的节点实例。⼀个hub 和多个node被称为Selenium grid。运⾏SeleniumServer与在同⼀主机上⽤⼀个hub和单个节点创建de Selenium grid类似。
问题5:你如何从Selenium连接到数据库?
Selenium是⼀个Web UI⾃动化⼯具。它不提供任何API来建⽴数据库连接。这取决于你使⽤Selenium进⾏⾃动化的编程语⾔。在下⾯的例⼦中,我们假设正在使⽤Java。
⼀个Connection对象表⽰与数据库的连接。当我们使⽤连接⽅法连接到⼀个数据库时,我们创建了⼀个连接对象,它代表了与数据库的连接。单个数据库可能有⼀个连接或多个连接,还可能有多个连接到不同的数据库上。
我们可以使⽤Connection对象来做以下事情:创建⽤于执⾏SQL语句的Statement,PreparedStatement和CallableStatement对象。可以帮助我们提交或回滚⼀个JDBC事务。如果你想知道连接到的数据库或数据源信息,Connection对象通过使⽤DatabaseMetaData就可以收集有关数据库或数据源的信息。可以帮助我们关闭数据源。Connection.isClosed() ⽅法只有在调⽤了Connection.close()时才返回true 。此⽅法⽤于关闭所有连接。
⾸先我们需要通过使⽤Connection()⽅法,建⽴与数据库的连接。这个⽅法接受⼀个包含URL的字符串。DriverManager 类尝试查可以连接到由字符串URL表⽰的数据库的驱动程序。每当调⽤getConnection()⽅法时,DriverManager类都会检查可以连接到URL 中指定的数据库的所有已注册的Driver类的列表。句法:
String url = "jdbc: odbc:
makeConnection";
Connection con = Connection(url,
"userID", "password");
问题6:Selenium RC中定位器⽅法有哪些?
00001.
ID
00002.
00003.
Name
00004.
00005.
CSS (Cascade Stylesheet)
00006.
00007.
XPATH (Relative XPath and Absolute XPath)
00008.
00009.
Dom
00010.
问题7:你如何验证多个页⾯上存在的⼀个对象?可以使⽤下⾯的Selenium命令来检查:
assertTrue(selenium.isElementPresent(locator));
问题8:XPath中使⽤单斜杠和双斜杠有什么区别?如果XPath是从⽂档节点开始,它将允许创建“绝对”路径表达式。 例如 “/
html / body / p”匹配所有的段落元素。如果XPath在⽂档中的任意位置开始进⾏选择匹配,那么它将允许创建“相对”路径表达式。例如“// p”匹配所有的段落元素。
问题9:如何编写Selenium IDE / RC的⽤户扩展?⽤户扩展(UX)存储在Selenium IDE或Selenium RC⽤来激活扩展的单独⽂件中。它包含⽤JavaScript编写的函数定义。因为Selenium的核⼼是⽤JavaScript开发的,所以要符合原语⾔的标准规则来创建扩展。要创建⼀个扩展,我们必须⽤下⾯的设计格式来编写函数。
// 样例
Selenium.prototype.doFunctionName = function(){
}
函数名称前⾯的“do”告诉Selenium这个函数可以被调⽤为⼀个步骤命令,⽽不是作为内部函数或私有函数被调⽤。
问题10:如何在页⾯加载成功后验证元素的存在?它可以通过下⾯的代码⾏来实现。只需⼀点时间(以秒为单位)来检查元素,如下所⽰:public void waitForElementPresent(String element,
int timeout) throws Exception {
for (int second = 0;; second++) {
if (second >= timeout)
fail("Timeout. Unable to find the Specified
element" + element);java培训怎么学
try {
if (selenium.isElementPresent(element))
break;
} catch (Exception e) {
}
Thread.sleep(1000);
}
}
如果你不想再体验⼀次⾃学时不到资料,没⼈解答问题,坚持⼏天便放弃的感受的话,可以加我们的软件测试学习交流:705673780,⾥⾯
有各种软件测试资料和技术交流~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论