How to pass argument value from Xcode Bot to UI test code - xcode-bots

I am using Xcode 9.4.1, trying to set up Xcode server and bots. During the process, I am facing one issue where I am not able to pass Environment variable value to UI test code.
Could anyone please guide me to achieve solutions.
Thanks,
Selva

Related

Breakpoint debugging in Appium

Is there a way on how to set breakpoints in appium or get a better debugging experience than looking through logs and printing console.log() all the time?
I would like to be able to stop the test run in any step and see what are the values - proceed to next step and so on. I saw that this might be possible using IDE but is there a better integration solution? Also saw that cloud device providers provide similar logging solutions like https://www.browserstack.com/docs/app-automate/appium/set-up-tests/debugging-options but this is only on the cloud devices and I would like to see it localy.
Maybe a dependency that would include what I am asking for?
My setup is appium, webdriver.io, mocha.
Thank you in advance!
First of all, debug with IDE and BrowserStack logs it's not the same. I don't know why you need it, but the best way to debug is to use the IDE
enter image description here
enter image description here
enter image description here
Also, you can create your custom logger util, which will store all the events to log file and print it
And the last one is https://appium.io/docs/en/commands/session/events/get-events/
self.driver.execute_script("mobile: deviceInfo")

Nativescript force latest store version

I am trying to figure out how to force the user to use the app only if he has the last update of it( So the app should check if the local and store version are the same). I've seen this feature in some apps. Found this plugin : https://www.npmjs.com/package/nativescript-store-update. It works great on iOS but it does not work at all on Android, so I am clueless right now on how to do this. Any help would be much appreaciated. Thanks
While not sure about forcing to update the store version, you can use the newly introduced AppSync functionality to create mandatory updates for your codebase. See this blog post for details or just search for nativescript-app-sync

UI testing for react native apps

i am currently working on a UI automated testing project.
my job is to do UI automated testing on applications built via react-native.
the problem is that react-native doesn't provide resource-id.
i tried nativeID, and testID, and it didn't work out.
i tried accessibilityLabel but this is not the way to do it, because it assigns to the content-descp: which is used by the blind mode.
i tried cavy which is an integrated-ui testing tool, but it's very new, and there is not much support, plus it's not quit developped yet.
i tried selendroid, but i am facing some problems while loading the app in the local selendroid server, i think it has something to do with react native.
any help please!
On the project I’m working on right now, we are using Calabash for both Android and iOS. testID works with Calabash like this:
If you have a view with testID some-id, then you can query for it in calabash with query string ”* marked: some-id”
https://github.com/calabash/calabash-ios
I have also heard people having success with Appium, which is quite similar I think.
You can add AccessbiltiyLabel so that you will be able to automate via
driver.findElement(by.accessibility("id");

Xamarin Forms & Parse SDK - How to edit the server address

I'm currently, with some friends, on a freelance project. For some reasons, the customer asked us to don't make a new server but just use Parse. The thing is, we knew that Parse will stop but he was keep wanting this thing, so we used it. Today, Parse has been stop and the costumer said he moved the data/stuff on another server. He also told us; "you just have to change the server address."
However, I can't find the way to change this address from xamarin forms. I found a solution which doesn't exist on my side:
ParseClient.Initialize(new ParseClient.Configuration
{
ApplicationId = "MYAPPID",
Server = "http://example.com/parse/"
});
But I as said above, it doesn't work since Initialize takes only 2 params which are the following, and not a ParseClient.Configuration stuff.
So I would like to know if you have any idea? It's not the only thing I tried but it seems to be the best example I can show you.
Any help is welcome, thank you !
I just started to use Parse. So maybe I can help you.
In fact with Xamarin Forms applications, Parse's configuration is a little bit different than with native platforms.
I suspect you don't use correct Parse DLL in your project. For instance in your iOS app (AppDelegate.cs), reference Parse.iOS.dll. Personally, I don't use Nuget packages and downloaded the correct DLLs from here:
Parse SDK .NET (github)
So referencing this dll in your project, you should be able to initialize Parse like that:
ParseClient.Initialize(new ParseClient.Configuration
{
ApplicationId = "xxxxxxxx-xxxx-xxxx-xxxx-b1782265ea00",
Server = "http://myParseServer.com/Parse/",
WindowsKey = parseID
});
For a more detailed description on how to use Parse for Xamarin Forms, I wrote a Post describing my solution:
Setup Parse for Xamarin Forms, conditional builds
Hope this helps

IBM Worklight - Shell Component

When I have created a shell component, inside the shell component common folder there is folder called preview. I need to know what is the use of this folder. I am trying to understand about it using the following point specified in IBM modules.
preview: can be used to implement native functionality stubs for simulation in the Worklight Console preview instead of receiving exceptions
Still i am not having any clear idea about this. Can anyone give a clear idea about this.
Thanks in advance!
I believe that the main idea of the preview folder for shell component is to simulate its native behaviour, let's say for example you want to you the Google Maps API on a given area.
For the one developing the shell they do not have the final App, to test its behaviour. So, they can create some simulation such as a picture for a Map or a Picture of a Android TOAST, to allow them to work in the shell it self.

Resources