我想学习使用Java的Selenium WebDriver自动化。我之前已经做过手动测试,想学习自动化。我只知道Core Java的基础知识。

能否请您提出一些我需要使用Selenium WebDriver进行测试自动化的核心主题?

在Java编程中,测试人员必须专注于哪些主题以及忽略哪些主题?

评论

甚至需要Java知识吗? Selenium是否没有Python绑定?

#1 楼

Java

我的经验是,Java基础足以开始使用Selenium 2 / WebDriver开发测试用例。我自己开始使用有关Java的基本知识来开发Selenium测试用例。我编写的测试用例和解决方案越多,我越倾向于编程语言。

单元测试框架(JUnit,TestNG)

编写一些简单的单元测试(不含Selenium)以学习单元测试框架的基础知识并阅读文档。通过使用Selenium 2 / WebDriver编写测试,该框架中的更复杂的东西会自动出现。

Apache Maven

Apache Maven是一个构建管理工具。它可以管理依赖项(库)。但这对于测试内容也非常有用。它具有用于创建测试报告,并行运行测试或配置测试运行的插件。

评论


单元测试框架部分的+1。特别是使用WebDriver,您将不得不习惯这些框架的许多功能。

– joshin4colours
2014年9月2日20:21在

+1答案。我想说,您对Java概念了解得越多,编写更复杂的测试就越容易。通常,您可能正在编写用于单元测试的测试框架,在该框架中,您需要编写许多复杂的条件和决策,因此对Java的良好知识和动手经验将永远是您的一个不错的选择。

–IAmMilinPatel
15年7月10日在16:54

#2 楼

答案取决于您希望执行什么编码级别?您的测试脚本有多复杂?

首先,您可能想学习基础/核心Java,然后通过实践不断改进并寻求他人的帮助,以组合复杂的脚本来测试复杂的软件。

#3 楼

我认为,如果您研究以下内容,将会对您有所帮助:




Java基础(如其他答案所指出):
您可能需要了解一些库/ concepts如:


Apache POI:要读取/写入excel文件,以防万一您从excel文件中读取测试数据并将其传递到测试脚本中
XML解析:如果要从XML文件传递测试数据
TestNG:具有报告结构的测试框架。
ATU Graphical Reporter(仅是一个建议):与TestNG配合得很好,并给出了很好的报告。


XPath和Css-Selectors-在这里,我的意思是您应该能够构建结构良好的XPath和CSS-Selectors。
诸如AutoITx4Java或AutoIT的外部工具-您可能需要了解这一点脚本的一部分处理Windows弹出窗口时使用的工具。


#4 楼

Java知识的水平取决于您对Selenium的处理方式。

您可能只想编写一些简单的测试自动化脚本,在这种情况下,基本的Java知识就足够了。

如果要使测试自动化代码可重复使用,那么面向对象的编程概念就很重要。

如果要创建框架,请学习高级Java概念,例如多态性,抽象类,接口等。


http://test-able.blogspot.ca/2015/08/how-much-java-do-i-need-to上查看有关此主题的更多信息-learn-for-selenium.html

免责声明:海报是链接的博客文章的作者。

#5 楼



学习JAVA(任何编程语言)的基础-Selenium2自动化的入门之门

假设您已基本了解HTML,CSS

了解定位器,简单的selenium命令,并尝试自动化简单的功能
一旦您知道如何控制浏览器,就可以继续使用TestNG(首选)或JUnit之类的框架

学习Javascript,它将在很多方面为您提供帮助,而Selenium则功能更强大。

如果您做得很好,您将通过使用Selenium来自动执行复杂的功能。

因此,您将遇到各种测试框架,日志,CI,构建管理等。

快乐的自动化:)

#6 楼

关于Selenium的重要Java概念:


条件语句和循环语句
异常处理
字符串类的方法
列表和集合
上载和运行时多态性
带有示例的OOP概念


评论


就目前而言,您的答案不会对现有回复添加任何内容-请修改您的答案以提供每个列出的项目的更多信息。

–凯特·保罗(Kate Paulk)
15年6月23日在11:04

#7 楼

对于使用Java的Selenium WebDriver的工作,您可以专注于以下Java概念和其他相关内容,我只是向您大介绍。


Java基础知识(糟糕的概念和编程概念)
Java收集框架
Java FileOperations(使用apache POI或Jexcel),ExceptionHandling,logger将是加分点。
Junit或TestNG从单元测试开始,因此您可以断言您的测试用例。
需要具备HTML基础知识,以便可以通过各种机制(主要用于ID,Xpath,CSS Selector)在选择元素中使用它们这对于使用硒框架至关重要(最重要)。
对于日常工作效率,需要学习Jenkins(从概念上来说),Maven和存储库操作。
公司使用了几种标准框架,因此查看它们并理解它,例如Page对象模式,Hybrid框架,关键字Driven框架等。

如果您对此有任何疑问,请告诉我。

#8 楼

在进行自动测试时,您应该强烈支持开发团队使用的相同技术堆栈。在Java中,可能是在Jenkins下运行的Apache Maven,JUnit和Slf4j。技术不扩散。

学习使用JUnit来驱动Webdriver测试用例的测试驱动开发。掌握了这些知识后,请学习Cucumber-jvm并开始用BDD表达测试用例。

#9 楼

您应该使用诸如C#,Java等任何程序移植语言来了解面向对象的概念。
您应该了解用C#或Java处理对象的Collection框架。
您应该了解HTML。
您应该了解JavaScript。
您应该了解Java或C#中的Excel操作。
您应该知道如何在Java JDBC和c#ADO.Net中连接数据库。
您应该了解JUnit或NUnit Testing框架及其注释或属性。
您应该了解任何IDE,无论是Eclipse还是Visual Studio。
外部工具(如Point position或AutoIt v3等)...

评论


此列表没有任何意义。 JDBC?真。要创建Selenium测试,您不需要了解数据库,那么即使SQL也将更有用。创建测试时我从未使用过Excel。您使用的哪个IDE也无关紧要。收集框架?从来没有听说过,您的列表包含您所使用的环境的详细信息。

– Niels van Reijmersdal
2015年6月8日在8:27



1-表示您不完全了解任何面向对象的编程功能集合。当您谈到列表时,列表是什么?它是一种类型的集合。你有没有用户Set,HashTable,List,vector这些在集合中。 2-如果您使用的是测试驱动框架,则您的测试数据将显示在Excel工作表中。你同意我的回答吗?就像您使用SQL从任何数据库访问数据一样。说得通。

–阿维纳什·潘德(Avinash Pande)
2015年6月9日在13:52



所需的基本编程知识应包括:if / then / else,OO类,属性和方法,变量类型(如int,布尔值和数组)。您将其命名为“集合框架”,在Google搜索时,我遇到了从未使用过的JCF。最好的最佳做法是类似Page对象模型:code.google.com/p/selenium/wiki/PageObjects

– Niels van Reijmersdal
2015年6月9日14:33