cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Mobile ADK is not capture buttonname for IOS

Hi All,

I have auto-instrument a application wtih Mobile ADK for IOS. But the I have 2 different problem:

-Button name is not captured.

Button is not listed cpwrUEM_instr.excludeControls paramter in info.plist file ( insturmantation proporties file )

-Some useractions/webrequest missing for a visit.

Any possible known resosons for this behaviour ?

regards,

Savas Tanrıverdi

 

 

5 REPLIES 5

scott_croom
Contributor

I am having the same issue and have opened a support ticket.  Were you able to resolve your issue?

Hi Scott,

Yes, Indeed.

Using costum button on aplication caused this behavior. Dt could not capture the buttonname has no title label.

When developer set title label on buttons. Mobile ADK captured the buttonname and Problem is fixed

I think This behaviour should be added as a limitatiton in documantation

https://community.compuwareapm.com/community/display/DOCDT61/Auto-Instrumentation+for+iOS#Auto-Instr...

Regards,

Savas Tanrıverdi

 

neal_leverenz
Newcomer

Savas and Scott,

For the button issue you are having, we use titleForState:UIControlStateNormal to get the title of the button. If it comes back nil we then set the lifecycle action to Touch on Button. One thing we don't handle, but should is attributedTitleForState:UIControlStateNormal because it is support through the interface builder. We will look at also calling titleLabel.text if the titleForState returns nothing. I will have the documentation updated with this information.

For your question about missing user actions/web requests, here is an explanation on how we capture the user actions (lifecycle actions) and web requests. If a lifecycle action does not have a web request happening with in 500 ms from the action, it will be discarded by the agent. There is a setting called cpwrUEM_action.sendEmptyAutoAction that can be set to YES. This setting will prevent lifecycle actions from being discarded. Also, as you already mentioned, the 500 ms timeout can be changed by setting cpwrUEM_action.autoActionTimeoutMs to a value between 100 to 5000.

Depending on the version of the code you are running, the first lifecycle action may never get closed out sent to the server. The agent will send the web request to the server, but the server will eventually discard them because the parent lifecycle action was never sent. This bug have be resolved in the current public fix pack for 6.1.

Neal Leverenz

scott_croom
Contributor

Neal, thank you for the response, I will forward this to our developer.

You mention that attributedTitleForState:UIControlStateNormal should be used.. is it possible to get a build of the ADK with that support?  Also, can you clarify if titleLabel.text is currently supported or that is something in development?

I will also have them try the other settings for capturing the web requests.  We have to manually tag our webrequests, and they are showing up in Dynatrace purepath correctly with the proper tag, but are not being shown inside the user action purepath dashlet.

neal_leverenz
Newcomer

As of right now, only titleForState is supported. If you would like to have support for attributedTitleForState, please enter a support ticket and we will get a fix pack for your version (6.0, 6.1) out to you. We have plans for adding attributedTitleForState and accessibilityLabel to 6.3. This should cover most cases especial image buttons. The developer will be able to add an accessibilityLabel which we will use if the other 2 methods don't return anything.