How to extract details from xcresult file in XCUITest (from Xcode 11)? - xctest

I want to parse and get all the details related to my UI tests from xcresult file. Before Xcode 11, I can achieve this by reading the TestSummaries.plist file. But Apple has changed the xcresult format from Xcode 11.
I found this on google. But seems like it can only extract the screenshots from the xcresult bundle. I want to extract all details like, start/end times, action/activities times, code coverage details and logs etc.
Apple itself provide xcresulttool command line tool to see the xcresults in a human readable format. But it also does not gives all the needed information.
I saw about XCTestObservation & XCTestRun to build my own test observer but can't find any workable sample in the internet. Am I missing something? Did anyone throw some help on this?

XCTestHTMLReport has helped me to obtain beautiful HTML report with screenshots.

Related

dgrid - how to download samples and find doc

This page shows a sample I want to reproduce:
http://dgrid.io/js/dgrid/test/Tree.html
(or any other of the samples here: http://dgrid.io/js/dgrid/test/)
I did a "view source" to see the code, but poking around and so far haven't found the data file "dgrid/test/data/hierarchicalCountryData".
It doesn't seem to be included in the code samples from GitHub (dgrid#1.2.1).
Also the normal doc/samples on the website don't show much about these tree features. I think I found it by doing a site:dgrid.io tree. So is this future research, or something currently available?

Newbie gotchas in Sarah Mei's "Outside-In BDD: How?!" Cucumber tutorial

I'm trying to learn Cucumber. After poking around a bit on SO I found a link to this tutorial. It was very helpful (and I recommend it highly!), but, for a beginner like myself, a couple of the early steps were opaque. I thought I'd explain these two pitfalls here, to spare future Cucumber students the head-scratching they caused me.
The two problems both came up in this section:
Starting the fail-fix cycle
I run it using cucumber features, and it fails on the first line –
Given I go to the new book page – because cucumber doesn’t know where
the “new book page” is. So I add that to the cucumber paths helper.
when /the new book page/
new_book_path
I had trouble interpreting this section and running her code.
My first question was: where do I find the cucumber paths helper file?
Once I figured it out and ran cucumber features, I got a syntax error.
My second question was how do I debug the syntax error that her code raises? I've tried to answer these two questions below.
First Gotcha: where the heck is the `cucumber paths helper'?
First off, she talks about adding a step to the cucumber paths helper. I struggled for a while to figure out where this file was located. I couldn't find anything with a similar name in my app, and google searches didn't yield any useful results. What was going on?
It turns out that I couldn't find the file because it's not automatically generated -- you need to create it yourself. Furthermore, the name of the file is totally arbitrary: it doesn't need to be called cucumber_paths_helper. That's why my google searches were fruitless.
For her code snippet to be executed it just needs to be in some file living in the features/support folder. All of the code in this directory is executed before any cucumber tests are run. The solution? I put her code into a new file at features/support/manage_books_steps.rb.
Ok, one down...
Second Gotcha: syntax error, unexpected keyword_when
The next problem showed up when I tried to run cucumber features. I got this:
/Users/dB/myApp/features/support/manage_books_steps.rb:1: syntax error, unexpected keyword_when
when /the new book page/
^ (SyntaxError)
For some reason my system couldn't parse this code. I'm not sure why exactly, but I'm guessing that Sarah was using some gem or tool to preprocess her code that I didn't have installed, and she unfortunately didn't go into detail about her gemset in the article. (Maybe she wrote it before cucumber's training wheels came off?) In any case, after consulting some other cucumber tutorials I tried reformatting her snippet like so.
When /^I go to the new book page$/ do
visit new_book_path
end
This worked.
After getting past those two little obstacles, the rest of the tutorial was a synch.
Anyway, I hope this helps someone somewhere down the line. And thanks, Sarah, for a great tutorial.
Edits/comments/corrections are welcome.

Using core plot with xcode 4

I am trying to use core plot with an ios app I am writing, but I am unable to build after following the instructions to set up the library for use. I am getting the following message.
'CorePlot0' does not contain a valid pid
Sorry the tutorial I used is here http://recycled-parts.blogspot.com/2011/07/setting-up-coreplot-in-xcode-4.html
This has been asked (and answered) a number of times on this site alone. The most helpful suggestion on those (many) similar questions that reference the blog post you mentioned says you should read that post's comments since the post refers to older code.
If all else fails, create a new test project and try following the (comment-updated) instructions again. If it still doesn't work, update your question with much more detail regarding what you tried and where it went wrong. Include build logs, run logs, etc. - we're not mind readers.

Identify LOC for each file in iOS project - ObjectiveC based application development

Is there tool that will give me a detailed report on number lines each file/class in project has?
I tried CLOC. All that I get is that the project level and that is nice to start with. I want a detailed drill down on each class. Do we have any open source tools that will do this for me?
I recommend using sloccount, you will get the LOC by directories and files as expected. You won't be able to have the LOC by class however.
If this limitation is ok, just use the --details flag in the command line you are using, for example if you run the sloccount command in the root directory of your Xcode project::
sloccount --duplicates --wide --details YOUR-TARGET-NAME
The output is a bit hard to read but you will get all the information you need.
If you want to have a nice report and be able to drill down in the directories/files via a HTML report, I suggest using Jenkins. Just install the 'Jenkins plugin for sloccount' via Jenkins UI.
You can see how to setup it in this blog article (disclaimer: I am the author). You will also be able to see examples of such reports.
I use Xcode Assistant...
Download here...
i was looking for a good open source metrics counter for Objective C for a long time... i didn't find any yet...
you can use ProjectCodeMeter http://projectcodemeter.com, but it's not free... hovever the trial version works for 3 months and when it ran out i installed it on my laptop and got another 3 months :)
I only find Xcode Statistician at http://www.literatureandlatte.com/freestuff/index.html

Getting Cocoa method completions in Sublime Text 2

I've been playing with Sublime Text 2 the last few days and was wondering if anyone out there has had any success getting Cocoa method completions working yet? Is there a plugin (or in-progress project to create one) out there?
Any general comments on using Objective-C in Chocolat or Sublime Text 2 would also be welcome.
There is an in-progress Sublime Text package that connects to clang to get autocomplete data called SublimeClang I've not managed to successfully get it to work totally with Cocoa/UIKit Dev, but here's a screenshot
and my options, that are a start
In MacVim I use a plugin called Cocoa.vim which haves useful python scripts that generates a classes and methods files for autocompletion. I didn't try so much with ST2, but may be is posible to create a sublime-package or sublime-completions file with all this data.
For the moment, I only create a sublime-completions file with some snippets. If I find a way to make this work, I will tell you.
I let my SublimeClang configuration options if helps anybody. I've already some of the autocompletions working:
"options":[
"-Wall",
"-isystem", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/",
"-isystem", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/include/c++/4.2.1/",
"-I/usr/lib/clang/3.1/include/**",
"-I", "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include/",
"-arch","armv7",
"-isysroot", "/Applications/XCode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk",
"-D__IPHONE_OS_VERSION_MIN_REQUIRED=50000",
"-ferror-limit=0"
]
Answering my own question here. A quick visit to the Sublime forums didn't turn up any leads nor did Google. It looks as though method completions for Objective-C aren't currently part of the default install nor available via 3rd-party quite yet.
This user http://b.rthr.me/wp/?p=368 claims to have gotten SublimeClang working. I may report back myself once I try it...