运行量角器时未找到规格

如何解决运行量角器时未找到规格

STEP: 1.量角器。\ conf \ conf.js

o / p:

> PS D:\CHOR-3823\LatestAutomation\PROJECTS\EVAutomation> protractor .\conf\conf.js
[18:12:11] I/launcher - Running 1 instances of WebDriver
[18:12:11] I/direct - Using ChromeDriver directly...

DevTools listening on ws://127.0.0.1:53625/devtools/browser/6885cfd9-3e30-42c9-b866-cbc7a01db67d
[29324:12112:0828/181212.692:ERROR:device_event_log_impl.cc(208)] [18:12:12.693] Bluetooth: bluetooth_adapter_winrt.cc:1164 RequestRadioAccessAsync failed: RadioAccessStatus::DeniedByUserWill not be able to change radio power.
User Name Locator is : //input[@placeholder='Username']
User Pass Locator is : //input[@placeholder='Password']
User Sign IN Locator is : Sign In
Started
Suite started: Login test whose full description is: Login test
Suitename is:Login test
directory created..
suitename is:login
Directory path is:logs\2020\8\28\Login test\login_20200828124213.log
Log Folder Link : ftp:\1.1.1.8\mnt.\logs\2020\8\28\Login test\login_20200828124213.log
myLogger....


No specs found
Finished in 0.009 seconds

priting json data....
Email report<html.html> saved successfully..
[18:12:13] I/launcher - 0 instance(s) of WebDriver still running

注意:-表示未找到任何规格。但是实际上它在规范内,并且正在从规范文件所使用的页面目录中打印一些消息。但是它无法调用该页面文件的任何方法,并且在此之后它就不再执行并说没有发现斑点。

请找到conf.js代码:


    require("@babel/register")({
      presets: ["@babel/preset-env"],plugins: [["@babel/transform-runtime"]]
    });
    var jasmineReporters = require("jasmine-reporters");
    var htmlReporter = require("protractor-html-reporter-2");
    var jasmineSpecReporter = require("jasmine-spec-reporter");
    var screenshots = require('protractor-take-screenshots-on-demand');
    var fs = require("fs-extra");
    var nodemailer = require("nodemailer");
    var EmailTemplate = require("email-templates").EmailTemplate;
    const Logger = require("../utils/logger.js");
    var ejs = require("ejs");
    var fs = require("fs");
    var xml2js = require("xml2js");
    exports.config = {
      framework: "jasmine",directConnect: true,// suites: {
      //loginswilite : "src/testcases/sweliteLogin/*.js"
      //DeviceSWeLite : "src/testcases/Devicelogin/*.js"  
      //DevicePageGUI : "src/testcases/DeviceGUI/*.js"
      //RebootDevice: "src/testcases/Rebootdevice/*.js"  
      //Run_Health_Report : "src/testcases/HealthReport/*.js"
      //Delete_Undelete_Device : "src/testcases/DeleteAndUndelete/*.js"
      //Backup_and_Restore_Config : "src/testcases/BackupAndRestore_Config/*.js"
      // login_spec :"../tests/login_spec/*.js"
      //Bulk_Add_user : "src/testcases/BulkAdduser/*.js"    
      //login: ["src/testcases/login/*.js","src/testcases/Add_collection_move_device/*.js"]
      //sanity: ["src/testcases/login/*.js","src/testcases/collection/*.js"]
      //src/testcases/DeleteAndUndelete/*.js
      specs: [
        'D:\\CHOR-3823\\LatestAutomation\\PROJECTS\\EVAutomation\\tests\\login_spec.js'
      ],// },SELENIUM_PROMISE_MANAGER: false,capabilities: {
        //browserName: "firefox",//acceptInsecureCerts: true,browserName: "chrome",chromeOptions: {
          args: ["--start-maximized","--ignore-certificate-errors"]
        }
      },// Options to be passed to Jasmine-node.
      jasmineNodeOpts: {
        onComplete: null,// If true,display spec names.
        isVerbose: false,print colors to the terminal.
        showColors: true,include stack traces in failures.
        includeStackTrace: true,// Default time to wait in ms before a test fails.
        defaultTimeoutInterval: 1200000
      },onPrepare: function () {
        "use strict";
        browser.ignoreSynchronization = true;
        // jasmine.getEnv().addReporter(new HtmlReporter({
        //     baseDirectory: 'reports'
        //     }).getJasmine2Reporter());
        browser.timeStamp = new Date()
          .toISOString()
          .replace(/T/,"") // replace T with a space
          .replace(/\..+/,"")
          .split("-")
          .join("")
          .split(":")
          .join("");
        jasmine.getEnv().addReporter(
          new jasmineReporters.JUnitXmlReporter({
            consolidateAll: true,savePath: "./reports/xml",filePrefix: "xmlresults"
          })
        );
        screenshots.browserNameJoiner = ' - ';
        screenshots.screenShotDirectory = 'target/screenshots';
        screenshots.createDirectory();
        jasmine.getEnv().addReporter({
          suiteStarted: function (result) {
            browser.suiteName = result.fullName;
            console.log(
              "Suite started: " +
              result.description +
              " whose full description is: " +
              result.fullName
            );
          },specStarted: function (result) {
            //Logger initialiation for test case
            browser.testcaseName = result.description;
            browser.logger = new Logger();
            browser.logDir = browser.logger.getLogDir();
            browser.logFolderLink = browser.logger.getLogFolderLink();
          },specDone: function (result) {
            console.log("Test Completed:" + result.fullName);
            if (result.status == "failed") {
              browser.logger.result(result.status.toUpperCase());
              result.failedExpectations.forEach(element => {
                browser.logger.error(element.stack);
              });
            }
            browser.logger.result(result.status);
            browser.getCapabilities().then(function (caps) {
              var browserName = caps.get("browserName");
              browser.takeScreenshot().then(function (png) {
                var stream = fs.createWriteStream(
                  "./reports/" +
                  browserName +
                  "/screenshots/" +
                  browserName +
                  "-" +
                  result.fullName +
                  ".png"
                );
                stream.write(Buffer.from(png,"base64"));
                stream.end();
              });
            });
          }
        });
      },onComplete: function () {
        var browserName,browserVersion;
        var capsPromise = browser.getCapabilities();
        capsPromise.then(function (caps) {
          browserName = caps.get("browserName");
          browserVersion = caps.get("version");
          platform = caps.get("platform");
          testConfig = {
            reportTitle: "Protractor Test Execution Report",outputPath: "./reports/",outputFilename: "ProtractorTestReport",screenshotPath: browserName + "/screenshots",testBrowser: browserName,browserVersion: browserVersion,modifiedSuiteName: false,screenshotsOnlyOnFailure: false,testPlatform: platform
          };
          new htmlReporter().from("./reports/xml/xmlresults.xml",testConfig);
        });
        var parser = new xml2js.Parser({ mergeAttrs: true,explicitArray: false });
        var jsonData = "";
        var myresult;
        var xmlData = fs.readFileSync("./reports/xml/xmlresults.xml","utf8");
        my_data = parser.parseString(xmlData,function (err,result) {
          console.log("priting json data....");
          //jsonData = JSON.stringify(result);
          myresult = result;
        });
        var htmlContent = fs.readFileSync("./reports/template.ejs","utf8");
        var htmlRenderized = ejs.render(htmlContent,{
          filename: "./reports/template.ejs",jsonobject: myresult,timestamp: browser.timeStamp,logDir: browser.logDir
        });
        //console.log(htmlRenderized);
        fs.writeFile("./reports/html.html",htmlRenderized,function (err) {
          if (err) return console.log(err);
          console.log("Email report<html.html> saved successfully.. ");
        });
       
      }
    };

请找到login_spec.js的内容:


    let inputPara = require('../object_repository/inputPageOR.json')
    let loginpage = require('../pages/loginpage')
    let Logger = require('../utils/logger.js')
    describe('Login test',function () {
      /*  "use strict";
        let logger;
        beforeEach(function () {
            logger = new Logger();
            logger.setcurrentFile(__filename);
            logger.info("Testcase :" + " " + browser.testcaseName + " " + "started");
            logger.info(browser.logger.getLogDir() + "/" + browser.suiteName + "/" + browser.testcaseName + "/" + browser.timeStamp + '.' + 'log');
            logger.info(browser.logger.getLogFolderLink() + "/" + browser.suiteName + "/" + browser.testcaseName + "/" + browser.timeStamp + '.' + 'log');
            logger.info("Before Each: Opening Login Page");
          });  */
        it('login',function () {
            let url = inputPara.openPage.url;
            let userName = inputPara.login.username;
            let password = inputPara.login.password;
            // browser.waitForAngularEnabled(false);
           // logger.info("opening EV GUI");
            loginpage.get(url.toString());
            loginpage.userName(userName.toString());
            loginpage.userPassword(password.toString());
            loginpage.buttonClick();
            browser.sleep(2000)
        });
    });

请找到登录页面文件的内容:


    let objRepo = require("../object_repository/commonPageOR.json");
    let loginpage = function () {
        //Fetching data from Json file for Locator
        let uname= objRepo.loginPageValue.usernameInput
        let upass= objRepo.loginPageValue.passwordInput
        let uclick= objRepo.loginPageValue.submitButton
        console.log("User Name Locator is : " + uname);
        console.log("User Pass Locator is : " + upass);
        console.log("User Sign IN Locator is : " + uclick);
        let userName_input = element(by.xpath(uname.toString()));
        let userPassword_input = element(by.xpath(upass.toString()));
        let signInbutton = element(by.partialButtonText(uclick.toString()));
        
         this.get =  function (url) {
            try{
            browser.get(url);
             
            }
            catch(err){
                console.log(err.stack());
            }
        }
        this.userName =  function (userName) {
            try{
            userName_input.clear();
            userName_input.sendKeys(userName);
           
            }
            catch(err){
                console.log(err.stack());
            }
        }
        this.userPassword =  function (password) {
            try{
            userPassword_input.clear();
             userPassword_input.sendKeys(password);
             
            }
            catch(err){
                console.log(err.stack());
            }
        }
        this.buttonClick =  function () {
            try{
            signInbutton.click();
            
            }
            catch(err){
                console.log(err.stack());
            }
        }
    }
    module.exports = new loginpage();

请找到目录结构:

Directory structure image

解决方法

对我来说,这似乎与配置文件中的规范有关

specs: [
        'D:\\CHOR-3823\\LatestAutomation\\PROJECTS\\EVAutomation\\tests\\login_spec.js'
      ],

尝试给出类似的相对路径

specs: [
        '../tests/login_spec/js'
      ],

应该可以

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

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-