如何在不使用 npm install 的情况下安装/使用 cypress 插件

问题描述 投票:0回答:2

我正在尝试安装/使用这个 cypress 插件 https://github.com/bjowes/cypress-ntlm-auth 进行自动化测试,以便我可以登录到使用 ntlm 身份验证器的应用程序,但我无法使用 npm install --save-dev cypress-ntlm-auth 公司安全策略的命令原因。 我已经下载了该插件的 zip 存储库版本,并且还安装了 cypress,但我不知道在不安装 npm 的情况下执行此操作的确切步骤。

我尝试将其添加到 cypress/plugins/index.js 文件中:

const ntlmAuth = require('cypress-ntlm-auth-3.2.5/test/e2e/cypress/plugins/index.ts');
module.exports = (on, config) => {
  config = ntlmAuth.initNtlmAuth(config);
  return config;
}

还添加了这是 cypress/support/index.js 文件:

import "cypress-ntlm-auth-master/src/commands"

但是我在尝试打开 cypress 时出现以下错误: Error: Cannot find module 'cypress-ntlm-auth-3.2.5/test/e2e/cypress/plugins/index.ts' (index.ts 文件位于提到的位置)

我想我可能缺少一些安装/配置步骤。有人可以帮忙吗?

javascript plugins cypress ntlm-authentication
2个回答
1
投票

假设您解压到

node_modules
,这就是 npm install(左)和 zip(右)之间的区别。

尝试破解这个

  • 将解压后的

    src
    重命名为
    dist

  • 添加

    http-mitm-proxy

    #!/bin/sh
    basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
    
    case 'uname' in
      *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
    esac
    
    if [ -x "$basedir/node" ]; then
      "$basedir/node"  "$basedir/../../../http-mitm-proxy/bin/mitm-proxy.js" "$@"
      ret=$?
    else 
      node  "$basedir/../../../http-mitm-proxy/bin/mitm-proxy.js" "$@"
      ret=$?
    fi
    exit $ret
    
  • 添加

    http-mitm-proxy.cmd

    @IF EXIST "%~dp0\node.exe" (
      "%~dp0\node.exe"  "%~dp0\..\..\..\http-mitm-proxy\bin\mitm-proxy.js" %*
    ) ELSE (
      @SETLOCAL
      @SET PATHEXT=%PATHEXT:;.JS;=;%
      node  "%~dp0\..\..\..\http-mitm-proxy\bin\mitm-proxy.js" %*
    )
    

这两个文件也可以在

/node_modules/.bin
中找到,文件名为
cypress-ntlm
cypress-ntlm.cmd
,这可能是关键位,所以也将它们复制到那里。


0
投票

我认为使用纱线可能会有所帮助:

yarn add cypress-ntlm-auth

安装纱线:
npm install yarn -g

© www.soinside.com 2019 - 2024. All rights reserved.