首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在CI环境中集成cy.visit(本地vs阶段url)?

如何在CI环境中集成cy.visit(本地vs阶段url)?
EN

Stack Overflow用户
提问于 2019-02-04 09:12:59
回答 2查看 206关注 0票数 0

我有一个测试套件,可以在对一些DOM元素进行断言之前打开一个本地url。

现在,我希望将Cypress集成到CI/CD中,但我不确定如何告诉Cypress访问临时url,而不是本地url。

有什么想法吗?

代码语言:javascript
代码运行次数:0
运行
复制
it('The body of the page is in viewport', function() {
    cy.visit(
      'http://mylocalurltovisit.local.com.au:8666/foo'
    );
    let initialPosition;
    const body = cy.get('body');
    body.should('have.class', 'pdfView');
    cy.get('.body-wrapper').should($el => {
      initialPosition = $el.position();
      expect(initialPosition.top).equal(0);
      expect(initialPosition.left).equal(0);
    });
  });

我想让访问url自动切换到CI环境中的登台url(可以是http://staging.com.au/foo)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-04 14:56:50

使用环境变量,但不要将其放在配置文件中,而是在启动Cypress的CI命令中传递它,例如

代码语言:javascript
代码运行次数:0
运行
复制
cypress run --env TARGET=local
cypress run --env TARGET=staging

在测试中,您可以使用before()分配正确的url (仅一次)。

代码语言:javascript
代码运行次数:0
运行
复制
describe('...', () => {

  let url;

  before(function() {
    url = {
      local: 'http://...',
      staging: 'http://...'
    }[Cypress.env('TARGET')];
  })
票数 0
EN

Stack Overflow用户

发布于 2019-02-04 10:24:59

一种方法是尝试为local and staging站点创建两个不同的url's,如下所示的cypress.json文件。

代码语言:javascript
代码运行次数:0
运行
复制
{
    "env": {
        "project1_user": "admin",
        "project1_password": "password",
        "localSite" : {
            "url" : "http://mylocalurltovisit.local.com.au:8666/foo"            
        },
        "stagingSite" : {
            "url" : "http://staging.com.au/foo"

        }

    }
}

然后接收指向测试内部const的urls;

代码语言:javascript
代码运行次数:0
运行
复制
const localUrl = Cypress.env('localSite').url;
const stagingUrl = Cypress.env('stagingSite').url;

您可以在beforeEach中调用或直接在测试中使用。同样的方法,你也可以用来做一口油井。

代码语言:javascript
代码运行次数:0
运行
复制
beforeEach( function() {
    cy.visit(localUrl + '/somelogin.php' );

} );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54509153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档