Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macaca output report error #13

Closed
TediWang opened this issue Apr 5, 2016 · 9 comments
Closed

macaca output report error #13

TediWang opened this issue Apr 5, 2016 · 9 comments

Comments

@TediWang
Copy link

TediWang commented Apr 5, 2016

error info:

5 passing (1m)
2 failing

  1. macaca test sample 使用自己这边的app,模拟器有打开。app无法运行 #4 should go into webview:
    Error: [windowHandles()] Not JSON response
    at endReadableNT (_stream_readable.js:906:12)

  2. macaca test sample brew命令在Linux下怎么执行 #6 should works with web:
    Error: [windowHandles()] Not JSON response
    at endReadableNT (_stream_readable.js:906:12)
    Error happened when writing to output html.

command usage: macaca run -o /Users/yb.wang/Test/macaca --server --verbose

@ziczhu
Copy link
Member

ziczhu commented Apr 5, 2016

@TediWang 在目标文件加上.html后缀,试试看,如果不加目标地址,应该可以默认存在macaca-test文件夹下。

@xudafeng
Copy link
Member

xudafeng commented Apr 5, 2016

@zenzhu output功能项 我们文档也要补充一份 http://macacajs.github.io/macaca/guide.html#/client-usage

@TediWang
Copy link
Author

TediWang commented Apr 5, 2016

指定目标文件以后是可以的。如/logs/test1.html.

  1. 其实最佳的是不用指定目标文件,可以根据Test case文件名+时间戳自动生成测试报告,每次启动都要指定不同的文件名有点费力度。
  2. 发现最终生成的报告中没有截图。

@xudafeng
Copy link
Member

xudafeng commented Apr 5, 2016

@TediWang 截图可以有,需要自己定义的wd模块输出图片url到公共存储空间,或者本地

@ziczhu
Copy link
Member

ziczhu commented Apr 5, 2016

@TediWang
1、现在是可以不指定目标文件的,不过暂时是按 macaca + 文件名 + 日期格式来生成的,会导致同一天的测试报告会被新的覆盖掉,后面我会按照你说的按时间戳修改一下,谢谢你的建议。
2、截图用的函数 takeScreenshot() 返回的是 Base64编码,而生成的报告只是将标准输出转换成 HTML格式而已,并无法直接看的截图,通常可以利用 CDN 进行上传,可以封装一下 takeScreenshot,将结果打印成 html 中 img 的格式即可,例如:

driver 
 .takeScreenshot()
 .then(data => {
   return Upload(data); // 需要自己实现,上传至CDN,返回图片URL地址。
 })
 .then(url => {
   console.log(`<img src="${url} />`);
 });

@TediWang
Copy link
Author

TediWang commented Apr 5, 2016

@zenzhu
report 用来反映测试用例的执行结果,截图可以查看测试轨迹,特别是对于问题的解决有帮助。支持上传到cdn的扩展很赞。
建议:是否可以增加这样一个参数,即-output:指定一个目录(默认在测试的目录下生成一个output目录),然后把报告,截图等能输出的所有文件都放到该指定目录下,这样非常方便对于一个测试最终结果的呈现。
谢谢

@ziczhu
Copy link
Member

ziczhu commented Apr 5, 2016

@TediWang 我更新了一下 macaca-client,你可以升级一下看看。

npm i -g macaca-client

现在 -o 分三种情况:
1、不传入参数,默认在 macaca-test 目录下,创建 macaca-${projectName}-${date}-${timestamp}.html 这种格式的报告。
2、传入一个后缀为 html 的名称(-o ./output/test.html),创建该名称的报告。
PS: 如果要定制一个包括当前时间信息的名称,可以利用 shell 变量,例如 -o ./output/Testcase-"$(date +'%d-%m-%Y-%s')".html,这样就能生成 Testcase-05-04-2016-1459861793.html,可以把自己定制的命令写在 Makefile 里面,这样直接执行一个命令就可以跑了。
3、传入一个目录名(-o ./output 没有后缀),在该目录下,产出同1的格式的报告。

至于截图输出的文件,其实也是可以在 takeScreenshot 中封装一下,然后保存在当前路径的XX文件夹下的,因为不同业务都有自己的需求,建议参考 webdriver-client 封装一个专属自己业务的客户端。

@TediWang
Copy link
Author

TediWang commented Apr 5, 2016

@zenzhu 效率真高。给32个赞。

@TediWang TediWang closed this as completed Apr 5, 2016
@TediWang TediWang reopened this Apr 5, 2016
@TediWang
Copy link
Author

TediWang commented Apr 5, 2016

验证了,很给力。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants