English 中文(简体)
Protractor - Writing the First Test
  • 时间:2024-03-22 21:59:31

Protractor - Writing the First Test


Previous Page Next Page  

在本章中,让我们理解如何写上对校长的第一次考验。

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.

下面显示的屏幕将解释执行这一榜样的上述步骤:

Executing code

在屏幕上看到,测试已经通过。

现在,如果我们正在测试非岛屿网站,而不是在实施守则之后将忽略的同步点变成真实的标签,那么我们就会发现错误。”

可在下列屏幕上看到:

Ignore Synchronization

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的夹子下载列报告。 如果测试成功,报告将如下:

Report Generation

但是,如果测试失败,报告将考虑如下内容:

Report Generation failed Advertisements