小编Tar*_*run的帖子

发布三叶草覆盖率报告失败

我为Jenkins php项目设置了所有php工具.我为"构建后操作"设置了"发布三叶草覆盖率报告",即

Clover report directory - /build/logs
Clover report file name - clover.xml
Run Code Online (Sandbox Code Playgroud)

我确实可以浏览/构建/登录并查看clover.xml.整条路径是 -

但当我执行Jenkins工作时,我收到以下消息 -

Clover xml file does not exist in: /build/logs called: clover.xml and will not be copied to: /var/lib/jenkins/jobs/php job 1/builds/2012-01-02_01-11-32/clover.xml
Run Code Online (Sandbox Code Playgroud)

找不到'/build/logs/clover.xml'.您是否为Clover生成XML报告?

为什么Jenkins无法看到我的clover.xml文件?

php jenkins

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

是否可以使用java邮件API查找邮件是否未读?

我使用java邮件阅读Gmail如下 -

Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", "mail", "password");

Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);

Message[] messages = folder.getMessages();
Run Code Online (Sandbox Code Playgroud)

现在我想知道消息是否未读,但找不到任何API.我想做点什么 -

 for(Message message:messages) {

    if(message.isUnread) {
    // Do Something here
    }
 }
Run Code Online (Sandbox Code Playgroud)

虽然没有这样的API - isUnred.

java

4
推荐指数
1
解决办法
5122
查看次数

方法中的参数数量

我有Selenium测试填写表格.我有一个方法,但这个方法在参数数量方面已经过度生长 -

 newMerchantPage.addEditMerchant(merchantDomain, merchantName,
            merchantCategory, true, merchantDescription, merchantNotes,
            merchantTags, true, true, false, false, merchantTitle,
            additionalDescription, merchantHeading, dummyCouponLink, true);
Run Code Online (Sandbox Code Playgroud)

只有字符串和布尔值.我正在考虑使用集合,然后在调用方法中迭代集合以进行更多处理.虽然还不确定这是否可行.有什么建议?

修改方法:

在实施了几个建议后,我的方法(不同的方法)看起来像 -

ContactPage contactPage = new ContactPage(driver); 
setContactFormData(); 
contactPage.setName(name).setEmailAddress(emailAddress).setSubject(subject).setM? ?essage(message); 
contactPage.submitContactForm(contactPage); 
Run Code Online (Sandbox Code Playgroud)

submitContactForm依次调用不同的实用程序方法.看起来有多糟糕?特别是最后一行(对象的方法调用和作为参数传递的同一对象)?

java refactoring selenium

4
推荐指数
1
解决办法
158
查看次数

使用HtmlUnit读取所有响应头

我试图使用http单元为我的应用程序读取响应标头 -

WebClient webClient = new WebClient();
WebClient.setThrowExceptionOnScriptError(false);
HtmlPage currentPage = webClient.getPage("http://myapp.com");
WebResponse response = currentPage.getWebResponse();
System.out.println(response.getResponseHeaders());  
Run Code Online (Sandbox Code Playgroud)

我确实看到了响应头但它们仅限于第一个http get请求.当我使用LiveHTTPHeaders插件for firefox插件时,我得到了所有获取请求和相应的标头响应.

有没有办法为所有后续请求获取http标头,而不仅限于第一次获取?

java htmlunit

4
推荐指数
1
解决办法
6386
查看次数

IntelliJ无法识别groovy String

我在Windows-7上使用IDEA - 11.1.1和gradle - gradle-1.0-milestone-9(我也试用了候选版本3)(如果这很重要)导入gradle项目后,IDEA会抱怨String对象.我想我错过了一些关于grrovy配置的东西.我还将 - main和test文件夹分别标记为Sources和Test Resources.我错过了一些明显的东西吗

在此输入图像描述

groovy intellij-idea gradle

4
推荐指数
1
解决办法
1577
查看次数

JMeter分布式测试和命令行参数

我一直在使用JMeter参数来指定测试属性,例如testduration,rampup period等用于负载测试.我在shell脚本中指定了这些参数,它看起来像这样 -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \   
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \    
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties
Run Code Online (Sandbox Code Playgroud)

这里一切都很顺利.

现在我添加了分布式测试并使用JMeter Server相关信息修改了上述脚本.因此新脚本看起来像 -

JMETER_PATH="/home/<user>/apache-jmeter-2.13/bin/jmeter.sh"
${JMETER_PATH} \
-Jjmeter.save.saveservice.output_format=csv \
-Jjmeter.save.saveservice.response_data.on_error=true \
-Jjmeter.save.saveservice.print_field_names=true \
-Jsample_variables=counter,accessToken \
-JCUSTOMERS_THREADS=1 \
-JGTI_THREADS=1 \
// Some more properties
-n \
-R     127.0.0.1:24001,127.0.0.1:24002,127.0.0.1:24003,127.0.0.1:24004,127.0.0.1:24005,127.0.0.1:24006,127.0.0.1:24007,127.0.0.1:24008,127.0.0.1:24009,12$
-Djava.rmi.server.hostname=127.0.0.1 \
Run Code Online (Sandbox Code Playgroud)

分布式测试运行良好,但测试不考虑上面脚本中指定的参数,而是采用JMeter测试计划的默认值 -

在此输入图像描述

我弄乱了任何配置吗?

jmeter

4
推荐指数
1
解决办法
1589
查看次数

Sphinx-build无法识别为内部或外部命令

在Python 2.5上,我安装了sphinx easy_install,它可以在Windows 7上的以下位置使用:

C:\Python25\Lib\site-packages\sphinx-1.0.8-py2.5.egg\sphinx
Run Code Online (Sandbox Code Playgroud)

我想将几个.rst文件转换为HTML.但每当我这样做时,我会sphinx-build遇到以下错误:

'sphinx-build' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

python windows easy-install python-sphinx

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

PHP代码覆盖率和Selenium

我碰到的SO这个线程,其讲述PHP代码覆盖工具- 代码覆盖工具对PHP

我从未使用PHP,并且已经使用java编写了Selenium UI测试,而这些测试是用PHP编写的.在通过我上面提到的线程时,我觉得(我可能错了)当使用PHP单元编写单元测试并且想要找到单元测试覆盖应用程序的程度时,将使用那些PHP代码覆盖工具.

我正在寻找一个解决方案,我执行我编写的Selenium测试和java,并且PHP应用程序代码库中会有一些钩子,它提供了一些关于已执行的应用程序代码库的报告和一个不执行的报告.

是否有可能做到这一点?

php selenium phpunit

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

chromeOptions - "ignore-certificate-errors" 没有摆脱 err_cert_authority_invalid 错误

我使用的是 appium 版本 1.5.3 和 Android Emulator 7.1.1。

由于被测应用程序没有有效的 ssl 证书,我启动了 android 驱动程序并设置了以下 chrome 选项:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 0);
capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
capabilities.setCapability(MobileCapabilityType.VERSION, "XXX");                          
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "XXX");                
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "7.1");
capabilities.setCapability(MobileCapabilityType.ACCEPT_SSL_CERTS, true);

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("ignore-certificate-errors");
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions);

wd = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities);
Run Code Online (Sandbox Code Playgroud)

但是尽管设置ignore-certificate-errorstrue我最终在 chrome 浏览器上出现以下错误:

在此处输入图片说明

  • 我需要设置任何其他功能吗?

selenium-webdriver appium

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

使用 build.gradle 执行特定的 testng 组

我检查了以下问题,但没有一个有帮助-

Gradle + TestNG 只运行指定组

用于作为一个组执行 TESTNG 测试的 Gradle 命令语法

我正在使用的项目位于 - https://github.com/tarun3kumar/gradle-demo 这是标准的 maven 项目,我没有使用 testng.xml 文件。测试方法 - com.org.corpsite.LandingPageTest分组为 -smoke

我正在运行测试 -gradle clean test并执行测试。测试由于真正的原因而失败,让我们忽略它。

然后我从命令行通过了测试组 - gradle clean test -P testGroups='doesnotexist' 请注意,'doesnotexist' 不是一个有效的组,但它仍然执行测试。

在此之后我加入includeGroupsbuild.gradle是-

test {
    useTestNG() {
        includeGroups 'smoke'
    }
}
Run Code Online (Sandbox Code Playgroud)

现在gradle clean test -P testGroups='doesnotexist'在 Java 类之一上使用 NPE 失败 -java.lang.NullPointerException at com.org.pageobjects.BasePage.findElements(BasePage.java:24)

问题 -

  1. 从命令行指定测试组的正确标志是什么?似乎-P是错误的,否则gradle clean test -P testGroups='doesnotexist'不会执行测试。
  2. 指定有什么问题includeGroups 'smoke' …

testng gradle build.gradle

2
推荐指数
1
解决办法
2725
查看次数