我为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文件?
我使用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.
我有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依次调用不同的实用程序方法.看起来有多糟糕?特别是最后一行(对象的方法调用和作为参数传递的同一对象)?
我试图使用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标头,而不仅限于第一次获取?
我在Windows-7上使用IDEA - 11.1.1和gradle - gradle-1.0-milestone-9(我也试用了候选版本3)(如果这很重要)导入gradle项目后,IDEA会抱怨String对象.我想我错过了一些关于grrovy配置的东西.我还将 - main和test文件夹分别标记为Sources和Test Resources.我错过了一些明显的东西吗

我一直在使用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测试计划的默认值 -
我弄乱了任何配置吗?
在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)
我错过了什么吗?
我碰到的SO这个线程,其讲述PHP代码覆盖工具- 代码覆盖工具对PHP
我从未使用PHP,并且已经使用java编写了Selenium UI测试,而这些测试是用PHP编写的.在通过我上面提到的线程时,我觉得(我可能错了)当使用PHP单元编写单元测试并且想要找到单元测试覆盖应用程序的程度时,将使用那些PHP代码覆盖工具.
我正在寻找一个解决方案,我执行我编写的Selenium测试和java,并且PHP应用程序代码库中会有一些钩子,它提供了一些关于已执行的应用程序代码库的报告和一个不执行的报告.
是否有可能做到这一点?
我使用的是 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-errors为true我最终在 chrome 浏览器上出现以下错误:
我检查了以下问题,但没有一个有帮助-
用于作为一个组执行 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' 不是一个有效的组,但它仍然执行测试。
在此之后我加入includeGroups的build.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)
问题 -
-P是错误的,否则gradle clean test -P testGroups='doesnotexist'不会执行测试。includeGroups 'smoke' …