Using LGSVL simulator, Do I have to use Apollo to use the ros2 bridge? - simulator

Using LGSVL simulator, I want use ROS1 Noetic or ROS2 Foxy.
Do I have to use Apollo to use the ros2 bridge?
At ROS1 Noetic, How to use rosbridge?(Autoware a.i. can run ROS1 Melodic)

Related

Retrieve Firebase Testlab testcase

I am triggering UI test in Firebase testlab from Jenkins using Google CLI command. It works all good following instructions from https://firebase.google.com/docs/test-lab/android/continuous#using_with_jenkins_ci .
now i want to get the list of testcases executed so i can use the result for reportinng via Jenkins.
Any Suggesstion or guidance on how to retrieve the test cases will be helpful.
If you wish to retrieve test results programmatically, you have a couple options.
Download the junit XML file(s) from your results bucket.
Access test case data using the Cloud Tool Results API

Public R Plumber remote

According to the documentation, https://www.rplumber.io/, it says that if we use plumber$run() it will just run locally localhost:8000. And I want to publish it in a remote. How can I start a remote API using plumber package?
See the host parameter on run(). e.g. $run(host="0.0.0.0")

Robot Framework : Is there any way using which we can execute test cases (same test cases/test suit) on multiple andriod devices at once?

enter image description hereOnce the app is launched on multiple android devices. How can we execute same test cases on multiple mobile devices at once? As I am having a bunch of test cases to execute on multiple android devices. I am trying to use For Loop by passing udid OR Appium Server name in Test cases,but it's not working.It executes test case on a single device only.Is there any way using which we can execute test cases (same test cases/test suit) on multiple Android devices at once?
You could use https://github.com/mkorpela/pabot with --argumentfile[NUMBER] options.
What you basically want to do is Parallel execution of your tests. There are many tools available to achieve this with ease and much coverage (vast number of devices and flavors) like SeeTest Cloud, Xamarin Test Cloud, AWS Device Farm, Perfecto etc
However if you want to achieve using Appium and TestNG it is still possible. Below are high level steps:
Launch multiple instances of Appium server, by using different
address, port, callbackPort, and BootstrapPort as part of node
command.
Get the UUID of the devices and pass it in TestNG xml
Run the xml as suite.
Below is the link with exact commands and steps:
http://toolsqa.com/mobile-automation/appium/appium-parallel-execution-using-testng/
You can use something like following as solution to your problem. As I had said earlier in my answer, you can save the drivers in a dictionary &{drivers} and use it in your loop to do repetitive actions on all your devices.
*** Settings ***
Library AppiumLibrary
Library Collections
Library Process
*** Variables ***
${APPIUM_SERVER1} http://127.0.0.1:4723/wd/hub
${APPIUM_SERVER2} http://127.0.0.1:4750/wd/hub
${udid_device1} udid of device 1
${udid_device2} udid of device 2
*** Keywords ***
setup and open android phone A
&{drivers}= Create Dictionary
${androiddriver1}= Open Application ${APPIUM_SERVER1} platformName=android platformVersion=7.0 deviceName=android udid=${udid_device1} automationName=uiautomator2
... appPackage=com.android.contacts newCommandTimeout=2500 appActivity=com.android.contacts.activities.PeopleActivity
Set To Dictionary ${drivers} ${udid_device1}=${androiddriver1}
Set suite variable ${drivers}
setup and open android phone B
${androiddriver2}= Open Application ${APPIUM_SERVER2} platformName=android platformVersion=7.0 deviceName=android udid=${udid_device2} automationName=uiautomator2
... appPackage=com.htc.contacts newCommandTimeout=2500 noReset=True appActivity=com.htc.contacts.BrowseLayerCarouselActivity
Set To Dictionary ${drivers} ${udid_device2}=${androiddriver2}
Set suite variable ${drivers}
Log Dictionary ${drivers}
Open URL
:FOR ${key} IN #{drivers.keys()}
\ ${value}= Get From Dictionary ${drivers} ${key}
\ Log ${key}, ${value}
\ repetitive actions here
you can save sessions from open application in a dictionary and use them in a loop to do some actions on every phone.
Please edit your question with code for further help.

FreePBX add a new SIP extension

I've successfully built VoIP server with FreePBX Asterisk. It works fine when I register a user on FreePBX. However, I would like to register a SIP account from mobile device directly. I found out that I can add custom information into FreePBX MySQL database.
However, it doesn't work either, and I couldn't find a place to insert SIP password.. Someone said that I need to do something with /var/www/html/admin/functions.inc.php file. Is there better way to create a new SIP extension from outside of FreePBX GUI? Thank you.
Freepbx not use database way(asterisk realtime).
Instead it use text file method.
After adding new info into mysql database, you have apply changes on web to write new config files. You can do same from command line interface (see amp_engine), but can't do that using db query.
Other option is use freepbx framework.php correctly.
Also you can use asterisk realtime architecture and not use freepbx dialplan.
WARNING Freepbx is designed for low number of extensions and low load(branch office pbx). As result using it for support mobile device application will be great fail. Check other projects, for example a2billing.org or hire expert to build core server with HA/failover for your need.

How to use AIR 2.0 NativeProcess API with Java?

How do you use this great new API in connection with Java? Do you use just pure native process API like nativeProcess.standardInput.write() and nativeProcess.standardOutput.read() with which you cannot debug Java side neither invoke remote java method. Or you are using some library that leverages remote method invocation such as flerry lib but that also cannot debug Java side? Or maybe you are using Merapi with which you can debug but cannot remotely invoke Java method? I'm asking this because this is maybe the most important question regarding this API and its ease of use.
It sounds like your reservations have to do with being able to debug the Java process. This is not really an issue. You can use the NativeProcess API to kick off a Java process with arguments that will cause it to be externally debuggable. For example:
var processArgs:Vector.<String> = new Vector.<String>();
processArgs.push("-Xdebug");
processArgs.push("-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n");
This will allow your Java process to be remote debuggable. You can then connect to it from Eclipse or Netbeans once the process has started. If the code in the Java process is linked to an active Eclipse/Netbeans project, you can do linewise debugging like you would of any other Java application.
-Raj
You can use NativeProcess to execute java.exe and pass it the right parameters to execute a java application.
You cannot use NativeProcess to run random java code from a jar file.
Having used both of them, you can debug the JVM with MerAPI or NativeProcess API.
Prior to AIR2.0, I used merapi to communicate over the network to a java process.
I would much prefer to use the NativeProcess launcher now, with MerAPI we were hacking
ugly marshalling code. Debugging the network payloads was a pin via merapi.
Using NativeProcess API is easy -
var myForkedExe:NativeProcessStartupInfo = new NativeProcessStartupInfo();
myForkedExe.executable = ;
...
I am not sure I understand what you mean by can not invoke remote Java methods with merapi.
That's exactly what I have been doing. Debugging is easy, just set the JPDA args and attach any JAVA debugger.
You could use Flerry to launch and communicate with java processes.
You can use var file:File = new File("/usr/bin/java"); and pass parameters to the Java-file with a Vector of arguments. E.g.
var arguments:Vector.<String> = new Vector.<String>;
arguments.push("-jar");

Resources