Run multiple appium sessions parallel in android device - appium

I want to open two chrome browser instances parallel in real android device using appium. i have started two appium servers with two ports, but when i tried to start second session, first one is killing. Please help me in doing this.

If you are trying to start port by using terminal then i had issues too. Open two appium windows and start server on two different ports. Make sure you change the bootstrap port for both.

Related

FMX debugging Can't bind address, Address already in use

First time debugging from PC to Mobile Phone work fine, when try again get error.
Any solution how fix this when try more debugging.
Add -debugport=54321 to Run->Parameters Parameters. By the way, the "inconsistent certificates" message is because the apk on the device was compiled with a different version of Delphi than the one you are using right now. You will have to uninstall it from the phone first. You can also use -cleaninstall in the Run->Parameters Parameters field.
There is no easy and fast solution.
You may need to:
Restart IDE
Kill adb.exe
Restart Windows
Restart device
Sometimes you will be able to debug again after doing only some of the above steps, however often you will need to do all of them.
Since every try takes plenty of time, I found out that complete Windows restart + device restart is the fastest thing to do.
With Delphi 10.3.3, it is enough to restart the device. After restarting the device problem goes away. It seems after the cancelation of code execution of the project debugged, the debugging service on Android continues to run. At this point, when new debugging started, IDE tries to run a new service with the same id of previous running service.

AspNetZero V8.0 - Debugger ends immediately

I just started coding with AspNetZero V8.0 solution. I purchased this version a couple of years ago. I had kept the raw downloaded solution in a GIT Repo without any changes.
Recently I downloaded the code for use in my project. All I have done so far is setup connection string, setup a tenant and logged into a tenant. After I got all that working I started development for my first domain class "Country". I have setup the domain classes, interfaces, application service and EF migration. All of this worked without any issues.
Now I have setup app service for Country domain and I am trying to test it from chrome console, as per the AspNetZero docs here. When I test the service I'm getting an error in the console and an error is getting logged in the AuditLogs table too. So in order to identify my issue with app service, I decided to debug the code. This is where my problem exists.
I am able to start the debugger. I see the chrome browser window open up, I see VS2019 (v16.8.4) switch to debug layout. After about 30+ seconds the browser closes and VS2019 returns to normal mode, not in debug, layout. I do not get any errors logged in chrome console, windows event log or in VS2019 output.
I have read many threads on SO about similar issues and tried many different VS2019 option changes, nothing seems to make a difference.
I tried a couple of other solutions, AspNetZero and other .NET Core, in VS2019 and I am able to debug them normally.
Has anyone else run into similar issue with AspNetZero solution or any other type of solution?
This is because they run the YOURCOMPANY.Web.Host as .exe OutputType.
To run and debug the project, open CMD on the YOURCOMPANY.Web.Host location then execute dotnet run
After that:
Attach to a running process on your local machine
In Visual Studio, select Debug > Attach to Process (or press
Ctrl+Alt+P) to open the Attach to Process dialog box.
Check the Connection type.
In most scenarios, you can use Default. Some scenarios may require a different connection type. For more info, see other sections in this article or Common debugging scenarios.
Set the Connection target your local machine name.
Finally, attach.
For more information:
Attach to running processes with the Visual Studio debugger

Passing command-line options to dartvm in flutter

I want to pass --enable-vm-service to the dart VM while running flutter but I didn't find any way to do it
simply running flutter --enable-vm-service returns
Could not find an option named "enable-vm-service".
I'm using android studio I would like to know if there a way to automatically pass the argument like this
if not command line will be enough.
The VM service runs automatically for Flutter, since Flutter uses it internally (eg. to send Hot Reload requests). If you run Flutter with --start-paused from the terminal for example, that will force it to print the VM service URL out:
To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on iPhone XS Max is available at: http://127.0.0.1:49303/
If you're running in VS Code, during a debug session there's a Dart: Open Observatory command that will launch the Observatory web app in your browser (this exposes the URL). There may be a similar button in IntelliJ/Android Studio, though I'm not sure.
You can also pass --observatory-port if you want to force a specific port:
flutter run --observatory-port 9999
In VS Code, you can add this to the args collection in your launch config (.vscode/launch.json). It'll probably also work in the args box shown in your screenshot for IntelliJ/Android Studio.

Communicating with an iOS device connected to an OSX VirtualBox VM

I am a tester writing cucumber test scripts using a Calabash/Ruby solution.
Here is my setup. I have two iOS devices plugged into a mac-mini. I have Xcode running and connected to a physical device. I also have an Oracle Virtualbox VM running on it that has another copy of Xcode running and that VM has another physical iOS device connected to it.
My dilemma is this. What I need is to write one test scenario that can test communication like calling and text between the two...so from within that test scenario I need to find a way to switch between the two devices.
I have been able to successfully write cucumber tests for Android doing this by adding special tags in the app_installation_hooks file. I referenced this link.
I have an idea it involves redefining the BUNDLE_ID, DEVICE_TARGET, and DEVICE_ENDPOINT every time I switch to a device, but I'm not sure how to write that if that is the solution.
I'm currently executing just one of my tests by calling 'bundle exec cucumber' which I can do on both machines (phsycial and virtual) individually.

how to blackberry application on simulator using command prompt?

Is there any tool in blackberry sdk like adb in android which can be used to install or run apps from command prompt on simulator.
Once you've packaged a .cod file to deploy, you basically have two options, which Howard and seand mentioned:
Using javaloader: javaloader -u load <path-to-cod>.cod
Using fledge and fledgecontroller
I'm guessing based on your question that this is part of an automated deployment scheme? I'd recommend using javaloader when deploying to real devices, and using fledge/fledgecontroller for deploying to the simulator.
javaloader will require that the simulator is simulating a usb connection, and a lot of people seem to have had trouble getting it to work correctly - when we tried there was about a 50% chance for any given run that it wouldn't connect or deploy correctly. But it works a bit better when trying to connect to a real device, at least in my experience. And if your project and requirements are fairly simple, you might be able to get away with using it on a simulator without too many problems.
Fledge/fledgecontroller have more commands that are useful for doing automated deployment and testing, which is primarily why I recommend them. They are a bit more complicated to use, however. To deploy to the simulator with fledge and fledgecontroller, you'd want to do the following:
Start fledge (located in the simulator folder) with fledge.exe /handheld=<handheld-id> /session=<session-name> /app=<simulator-folder-path>/Jvm.dll /automate
Use fledgecontroller (also located in the simulator folder) to load the cod with fledgecontroller.exe /session=<session-name> /execute=LoadCod("<path-to-cod>.cod")
<handheld-id> is the id of the device you want to test on - e.g. "8300" would run the 8300 simulator for BB 4.5
<session-name> can be anything, but should match between the call to fledge and the call to fledgecontroller
Note that it will take a little bit of time (anywhere from 15 seconds to 5 minutes, depending on which simulator you are using) for the simulator to boot after calling fledge. You'll need to wait for it to finish before calling fledgecontroller.
Fledge also has a bunch more commands that you can use to configure the session, for example by setting up an sd card or language options. If you run fledge.exe /help, it will describe the different parameters; and fledge.exe /controller-help will list the different commands you can pass through fledgecontroller.
In summary: if you are using real devices, or possibly if you are doing very simple deployments on a simualtor, you can probably get away with using javaloader. If you want more control over the simulator, you should use fledgecontroller.
Most probably the JavaLoader is the tool you are looking for.
Simulators are launched using the 'fledge.exe' CLI tool. Look at the built in scripts for launching simulators to see the myriad of options.

Resources