小编Mar*_*tin的帖子

删除UITableView中UITableViewCells之间的行

我创建了一个UITableViewUITableViewCell.在视图单元之间有生长线.我想删除这些行并且不想显示它们,但我不知道如何.

我使用Xcode 6.1和Swift.

这是显示我的屏幕的屏幕截图:

在此输入图像描述

谢谢!

xcode uitableview ios swift

72
推荐指数
4
解决办法
6万
查看次数

使用Swift在表视图中重新加载单元格数据

如何在表格视图中重新加载单元格的数据?我想向我的服务器和服务器响应JSON请求.目前我实现了请求和响应处理,我可以在我的单元格中显示数据.但我希望服务器只响应十个数据集.当我在应用程序中使用我的十个单元格滚动到表格视图的末尾时,我想向服务器执行下一个请求,服务器将提供下一个十个数据集,依此类推.我使用Swift作为编程语言.

谢谢!

reload uitableview ios swift

16
推荐指数
3
解决办法
8万
查看次数

在Swift中没有导航控制器的viewDidLoad()中执行segue

我有三个视图(视图1检查服务器连接,视图2显示主要内容,view3显示支持页面),我在故事板中创建它们而不编码.在启动我的iOS应用程序时,视图1在检查服务器连接时显示一个微调器.如果连接检查通过,那么我想去查看2,如果它失败了,那么我想去查看3.视图1仅用于连接检查,我不想回到这个视图.所以,我想我不需要导航控制器,或者?

在故事板中,我将所有视图与sequ​​es连接起来.在我的视图控制器1中我这样做:

override func viewDidLoad() {
    super.viewDidLoad()

    let result:Bool = server.isServerAvailable(myURL)

    if (result == true) {
        performSegueWithIdentifier("ConnectionCheckToMain", sender: self)
    }
    else {
        performSegueWithIdentifier("ConnectionCheckToSupport", sender: self)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这个viewDidLoad()函数中的segue 不起作用,但我不知道为什么.我在视图上添加了一个按钮来检查它.我已经实现了相同的代码viewDidLoad(),它工作正常.单击按钮时,将加载下一个视图.

有什么想法代码不起作用吗?

storyboard uinavigationcontroller viewdidload segue swift

7
推荐指数
2
解决办法
7767
查看次数

在Jenkins文件中为Jenkins管道使用shell命令中的参数

我想Jenkinsfile在几个shell命令中使用已定义的参数,但我得到一个例外.在我的例子中,我想执行一个简单的docker命令.该参数定义了docker executable的路径.

这是我的简短Jenkinsfile:

pipeline {
  agent any

  parameters {
    string(defaultValue: '/Applications/Docker.app/Contents/Resources/bin/docker', description: '', name: 'docker')
  }

  stages {
    stage('Test') {
      steps {
        sh 'sudo ${params.docker} ps -a'
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

[e2e-web-tests_master-U4G4QJHPUACAEACYSISPVBCMQBR2LS5EZRVEKG47I2XHRI54NCCQ] Running shell script
/Users/Shared/Jenkins/Home/workspace/e2e-web-tests_master-U4G4QJHPUACAEACYSISPVBCMQBR2LS5EZRVEKG47I2XHRI54NCCQ@tmp/durable-e394f175/script.sh: line 2: ${params.docker}: bad substitution
Run Code Online (Sandbox Code Playgroud)

当我Jenkinsfile在shell命令中不使用参数的情况下更改它时,它成功传递:

pipeline {
  agent any

  parameters {
    string(defaultValue: '/Applications/Docker.app/Contents/Resources/bin/docker', description: '', name: 'docker')
  }

  stages {
    stage('Test') {
      steps {
        sh 'sudo /Applications/Docker.app/Contents/Resources/bin/docker ps -a'
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

那么,如何在Jenkinsfile中使用shell命令中的参数呢?我试过string并 …

parameters shell jenkins jenkins-pipeline

7
推荐指数
1
解决办法
7968
查看次数

使用 nightwatch.js 处理具有相同选择器的多个元素

我正在使用nightwatch-cucumberwithPageObjects来自动化测试。nightwatch-cucumber基于nightwatch.js. 所以,我对 JavaScript 完全陌生。到目前为止,我更喜欢使用 Java 作为 Selenium/WebDriver 自动化的语言。

我想编辑具有定义值的多个输入字段。问题是所有这些输入字段都有相同的选择器。并且输入字段的数量在测试开始时是未知的,或者因测试而异。所以,我需要一个解决方案。在“神圣”的 Java 世界中,我可以做这样的事情:

List<WebElement> listOfElements = webdriver.getElements('input.myclass');
for (WebElement el : listOfElements) {
    el.sendKeys("abc");
}
Run Code Online (Sandbox Code Playgroud)

在 JavaScript 中,它有点棘手,我不知道如何处理。在我的PageObject我尝试了以下内容:

module.exports = {
  elements: {},
  commands: [{
    test() {
      this.api.elements('css selector', 'input.myclass',function (result) {
        for (var i = 0; i < result.value.length; i++) {
          console.log(result.value[i].ELEMENT);
          this.api.elementIdValue(result.value[i].ELEMENT, 'abc');
        }
      });

      this.api.pause(3000);
      return this.api;
    }
  }]
};
Run Code Online (Sandbox Code Playgroud)

但这对我不起作用。在这种情况下,我在测试执行 ( TypeError: Cannot read property 'elementIdValue' of undefined …

javascript selenium cucumber selenium-webdriver nightwatch.js

6
推荐指数
1
解决办法
4138
查看次数

通过Jenkins CI在Docker容器中运行Selenium测试的最简单方法

我想执行我的自动化测试,用Nightwatch-CucumberDocker容器中的Jenkins CI 编写.我有一个Docker图像,我想用它.

这就是我想要做的更详细的事情.

  1. 开始测试Jenkins CI作业
  2. 在同一台机器上加载Docker镜像,相关的Docker容器将启动.这个容器基于Unix OS.此外,将执行Docker容器中的某些配置.
  3. 测试将通过xvfb以无头模式执行(从本地或远程),报告将保存在Jenkins机器上.

通过GitLab CI我已经通过.gitlab-ci.yml配置文件实现了它并且它运行得非常好:

image: "my-docker-image"

stages:
  - "chrome-tests"

before_script:
  - "apt-get update"
  - "apt-get install -y wget bzip2"
  - "npm install"

cache:
  paths:
    - node_modules/
run-tests-on-chrome:
  stage: "chrome-tests"
  script:
    - "whereis xvfb-run"
    - "xvfb-run --server-args='-screen 0 1600x1200x24' npm run test-chrome"
Run Code Online (Sandbox Code Playgroud)

但我想与Jenkins CI实现相同的程序.什么是最简单的方法,并在Jenkins调用的Docker镜像中运行我的自动化测试?我应该写一个Dockerfile或者不是或者或者?

selenium node.js jenkins docker nightwatch.js

5
推荐指数
1
解决办法
2392
查看次数

如何解决 Jest 消息“测试运行完成后,Jest 没有退出一秒钟。”?

我们正在使用frisby.js我们的自动化测试的API和frisby.js应用Jest作为测试运行。现在在我们的例子中,我们在执行所有 API 测试之前进行全局设置,并在测试执行之后进行全局拆卸。

我已经设置了这个全局设置和拆卸jest.conf.js

globalSetup: './jest.globalSetup.js',
globalTeardown: './jest.globalTeardown.js',
Run Code Online (Sandbox Code Playgroud)

因此,全局拆卸会导出一个异步函数,该函数在所有测试套件之后触发一次。在我们的全球拆解中,我们使用外部报告引擎生成测试覆盖率和测试报告:

const coverage = require('./test-coverage-generator');
const XunitViewerCli = require('xunit-viewer/cli');

module.exports = async function() {
  await coverage.generateTestCoverage();
  await XunitViewerCli({
      results: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.xml',
      ignore: [],
      output: './api/reporting/test-reports/jest-junit-report-' + process.env.API_TEST_FOLDER + '.html',
      title: 'Test Report API Tests for ' + process.env.API_TEST_FOLDER,
      port: false,
      watch: false,
      color: true,
      filter: {}
  });
}
Run Code Online (Sandbox Code Playgroud)

而报告生成是为什么在测试结束时Jest生成消息的问题Jest did not exit one second after the test run …

javascript async-await jestjs frisby.js

5
推荐指数
1
解决办法
1080
查看次数

如何使用 dotenv 在另一个环境变量名称和值中使用一个环境变量值?

对于我的测试框架,我使用dotenv来读取和初始化不同测试环境的环境变量。现在我想使用特定的环境变量值作为另一个环境变量的值和名称的一部分。

因此,我在使用 .envexport INSTANCE=1文件初始化 env 文件之前设置了环境变量dotenv

这是我的环境文件,其中包含我想要初始化的所有环境变量dotenv

# INSTANCE as part of env var value
MY_DOMAIN="http://mypage/"$INSTANCE""

# INSTANCE as part of env var name
SUBDOMAIN"$INSTANCE"="/mysubdomain"
Run Code Online (Sandbox Code Playgroud)

而且这个指标也不起作用:

# INSTANCE as part of env var value
MY_DOMAIN=http://mypage/${INSTANCE}

# INSTANCE as part of env var name
SUBDOMAIN${INSTANCE}=/mysubdomain
Run Code Online (Sandbox Code Playgroud)

这可以通过 bash 来完成

export MY_DOMAIN="http://mypage/"$INSTANCE"" SUBDOMAIN"$INSTANCE"="/mysubdomain"

echo $MY_DOMAIN
http://mypage/1

echo $SUBDOMAIN1
/mysubdomain
Run Code Online (Sandbox Code Playgroud)

但使用dotenv它对我来说不起作用。我有以下代码:

const dotenv = require("dotenv");
var result = dotenv.config({ path: '/path/to/my/env/file' });

console.log(result.parsed);
Run Code Online (Sandbox Code Playgroud)

产生 …

javascript environment-variables dotenv

5
推荐指数
1
解决办法
5247
查看次数

在Node.js中将文件转换为UTF-8文件

我是JavaScript和Node.js的新手。因此,我有一个JSON文件,我想将此文件编码为UTF-8 JSON文件。Node.js怎么可能?

源JSON文件由另一个框架生成,并且可能包含BOM,但是我需要一个没有BOM的UTF-8 JSON文件来处理它。

javascript encoding json utf-8 node.js

3
推荐指数
1
解决办法
3639
查看次数