- Protractor - Discussion
- Protractor - Useful Resources
- Protractor - Quick Guide
- Protractor - Style Guide for Protractor
- Protractor - Debugging
- Protractor - Objects
- Protractor - Core APIs(Contd..)
- Protractor - Core APIs
- Protractor - Writing the First Test
- Protractor and Selenium Server
- Protractor - Getting Started
- Concepts of Javascript Testing
- Protractor - Introduction
- Protractor - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Protractor - Writing the First Test
在本章中,让我们理解如何写上对校长的第一次考验。
Files required by Protractor
原告需要以下两个档案才能运行:
Spec or test file
它是管理Protractor的重要档案之一。 在这一档案中,我们将撰写我们的实际测试守则。 测试守则是用我们测试框架的辛迪加编写的。
例如,如果我们使用Jasmine框架,那么试验守则将使用Jasmine的辛迪加书写。 这份档案将包含所有功能流动和检验结论。
简单地说,我们可以说,这一档案含有与申请互动的逻辑和定位。
Example
下面是一则简单的文字,即测试,有测试案例可浏览URL并核对页标题。
//TestSpecification.js describe( Protractor Demo , function() { it( to check the page title , function() { browser.ignoreSynchronization = true; browser.get( https://www.tutorialspoint.com/tutorialspbrary.htm ); browser.driver.getTitle().then(function(pageTitle) { expect(pageTitle).toEqual( Free Onpne Tutorials and Courses ); }); }); });
Code Explanation
以上规格档案可解释如下:
Browser
它是Protractor创造的全球变数,可以处理所有的浏览器级指挥。 这基本上是一个网络司机的包裹。 browser.get()是一种简单的冶炼方法,可以让Protractor装载一页。
< >和t->-两者均为Jasmine测试框架的星号。 'Dereg' 用于控制我们的测试案例的末流,而`a' 其中一些测试情景。 我们可以有多个网站。 我们试办案方案的组成部分。
Expect 这是我们把网页标题与一些预先界定的数据相比较的一种说法。
Configuration File
如名称所示,该档案为所有主持人组合方案提供了解释。 它基本上指向以下行为者:
Where to find the test or specs files
Which browser to pick
Which testing framework to use
Where to talk with the Selenium Server
Example
下面是经过测试的简单文字,即文字。
// config.js exports.config = { directConnect: true, // Capabipties to be passed to the webdriver instance. capabipties: { browserName : chrome }, // Framework to use. Jasmine is recommended. framework: jasmine , // Spec patterns are relative to the current working directory when // protractor is called. specs: [ TestSpecification.js ],
Code Explanation
以上配置文件有三个基本参数,可解释如下:
Capabipties Parameter
这一参数用于具体说明浏览器的名称。 可在以下文字编集中看到。
exports.config = { directConnect: true, // Capabipties to be passed to the webdriver instance. capabipties: { browserName : chrome },
如上文所述,此处提供的浏览器名称为“chrome',系为Protractor的违约浏览器。 我们还可以改变浏览器的名称。
Framework Parameter
该参数用于具体说明测试框架的名称。 可在以下编组中看到。
exports.config = { directConnect: true, // Framework to use. Jasmine is recommended. framework: jasmine ,
这里我们使用“jasmine”试验框架。
Source File Declaration Parameter
该参数用于具体说明来源申报的名称。 可在以下文字编集中看到。
exports.config = { directConnect: true, // Spec patterns are relative to the current working directory when protractor is called. specs: [ TsetSpecification.js ],
如上所示,此处列出的原始档案申报名称为。 这是因为,举例来说,我们建立了名称的试验规格文件。
Executing the code
由于我们对必要的档案及其管理方的编码基本了解,让我们努力树立榜样。 我们可以采取以下步骤来执行这一榜样:
Step 2——下面,我们需要的是我们保存我们档案的目录,即汇辑。
Step 3 − Now, execute the config.js file by running the command Protrcator config.js.
下面显示的屏幕将解释执行这一榜样的上述步骤:
在屏幕上看到,测试已经通过。
现在,如果我们正在测试非岛屿网站,而不是在实施守则之后将忽略的同步点变成真实的标签,那么我们就会发现错误。”
可在下列屏幕上看到:
Report Generation
现在,我们已经讨论了必要的档案及其管理测试案件的编码。 原告还能够提出测试案例的报告。 为此,它支持Jasmine。 可将JunitXML报告器用于自动生成试验执行报告。
但在此之前,我们需要在以下指挥下安装Jasmine报告器:
npm install -g jasmine-reporters
如你所看到的那样,例如,在安装Jasmine报告器时使用这种办法,是因为我们已经在全球安装了有――例如选择的探测器。
在成功安装了jasmine-reporters之后,我们需要在以前使用的conf中增加以下代码:
onPrepare: function(){ //configure junit xml report var jasmineReporters = require( jasmine-reporters ); jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({ consopdateAll: true, filePrefix: guitest-xmloutput , savePath: test/reports }));
现在,我们的新议事情况如下:
// An example configuration file. exports.config = { directConnect: true, // Capabipties to be passed to the webdriver instance. capabipties: { browserName : chrome }, // Framework to use. Jasmine is recommended. framework: jasmine , // Spec patterns are relative to the current working directory when // protractor is called. specs: [ TestSpecification.js ], //framework: "jasmine2", //must set it if you use JUnitXmlReporter onPrepare: function(){ //configure junit xml report var jasmineReporters = require( jasmine-reporters ); jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({ consopdateAll: true, filePrefix: guitest-xmloutput , savePath: reports })); }, };
在以同样方式管理上述专案之后,我们以前管理过,它将产生一份XML文件,在reports的夹子下载列报告。 如果测试成功,报告将如下:
但是,如果测试失败,报告将考虑如下内容:
Advertisements