Calabash Android run error: The first parameter must be the path to the apk file - calabash-android

I am trying to run sample calabash-android test. But I am facing the below error.
C:\Ruby23\TMSampleAndroid-master>calabash-android run TestmunkTest_debug.apk --verbose
The first parameter must be the path to the apk file.

Consider the following:
Separate the project directory from your Ruby23 installation by moving the calabash project inside a Workspace folder for example.
Create a folder to hold your .apk inside the calabash project, for example "APKFile"
In the run command specify the full path to the .apk file and see if it runs, like this:
calabash-android run
C:\Ruby23\TMSampleAndroid-master\TestmunkTest_debug.apk
or for my example:
calabash-android run
C:\Workspace\TMSampleAndroid-master\TestmunkTest_debug.apk
To add logging write "--verbose" after the command. The error that you get might be because of the typo "--v erbose"

Related

Is there a way to specify a directory to drop a .app file after building?

I am currently testing ios application, however I have to run yarn ios -b appName and let it build and install to my simulator. I have realised that it builds to the below directory /Library/Developer/Xcode/DerivedData/myApp-aohnjxogkpanghbjzgjqryytqzqh/Build/Products/Release-iphonesimulator/myApp.app.
I would like to be able to specify the build output directory. So that I can be able to run it on every new release dynamically.
Please assist in two things
How to specify build directory when running yarn ios -b appName
How to clean the directory dynamically before dropping the new file.

Bundle a file in Chromium

I want to add an exe file in Chromium 88 and use c++ to execute it, but after run command
autoninja -C out\Default mini_installer
it showed error about wrong file path of exe file.
how can i put an exe file and bundle it in Chromium ?
To bundle a file in Chromium, you will have to modify src/chrome/installer/mini_installer/chrome.release. Here's how it looks like: https://source.chromium.org/chromium/chromium/src/+/master:chrome/installer/mini_installer/chrome.release;l=1?q=chrome.release&sq=&ss=chromium
Just to make sure it's updatable when you update/upgrade your Chromium version on a user's machine, it should be placed inside VersionDir folder. For example in your case
# Chrome version dir entries, sorted alphabetically.
# Place your file here:
chromium_foo_file.exe: %(VersionDir)s\
For example if 88.0.0.0 is the version of your Chromium then after the installation is complete, this chromium_foo_file.exe will reside in 88.0.0.0 directory. Also place that file in your out\Default build folder before compiling mini_installer, so that it will be included automatically when building it

How to group together certain tests or files when doing a run in Cypress?

I am currently running Cypress and I have folders inside of it, where I have tests located for different applications.
I have a folder entitled "smhw-qa" which contains sub-folders and tests files for this specific application.
This directory apps will also include other applications too in future.
What I wish to do
In order to avoid having to run every test for a run, I wish to only run this specific folder. The location of the folder is as such:
'cypress/integration/apps/smhw-qa'
Over time, there will be more folders and tests added to the apps directory.
I am familiar with how to run a specific file, so doing the following works:
npx cypress run --spec 'cypress/integration/apps/smhw-qa/banners_promos_global/global_search.js'
How can I specify to Cypress which folder to run specifically when I use the npx cypress -run command?
What I have tried already
To run a specific test file I tried:
npx cypress run --project 'cypress/integration/apps/smhw-qa'
But this provides an error instead:
Can't run because no spec files were found.
We searched for any files inside of this folder:
/Users/jaswindersingh/Documents/cypress-automation/automation/cypress/integration/apps/smhw-qa/cypress/integration
Running specific sets of tests by their folders will be much easier for me, and will save time when running a specific suite of tests on our CI platform for example. I will also not need to specify the individual files since this is time-consuming.
It would also mean I can split out my tests and run them on different machines
Do I need to put anything into my test files, or inside of cypress.json or modify anything else, or can this be achieved through the terminal?
What options must I use instead?
Thanks
I think the clue is in the error message, you call
cypress/integration/apps/smhw-qa
and the error message shows
cypress/integration/apps/smhw-qa/cypress/integration
so to use the --project flag you need to replicate the /cypress folder per project, as per this example cypress-test-nested-projects
Folder structure:
package.json
node_modules
src/
clients/
foo/
cypress.json
cypress/
bar/
cypress.json
cypress/
However, I think you might want to use the --spec flag instead. If I understand it correctly, the glob pattern will allow you to keep the current folder structure. Docs
cypress run --spec 'cypress/integration/apps/smhw-qa/**/*'
Through --project you can manage different cypress.json files, the docs says
This enables you to install Cypress in a top level node_modules folder but run Cypress in a nested folder. This is also helpful when you have multiple Cypress projects in your repo.
so you're on the right way, just prepare some project-related cypress.json files

Sencha App Upgrade Issue: Must be run from App folder

I am trying to run an update of an old Sencha Touch app using Sencha CMD, however when I try to run it from the App folder (which I assume is right due to it having all the requirements) I am getting an error returned:
"[ERR] Command must be run from an app folder"
Here's the contents of the folder where I am executing the command:
folder screenshot
"[ERR] Command must be run from an app folder"
This error means that .sencha folder is missing in directory, So check properly and add it.
you're not in the sencha app project folder inside. you need to run that command inside the sencha app folder.

SenchaSDKTools-2.0.0-beta3-windows Command not working

I have installed SenchaSDKTools-2.0.0-beta3-windows on my windows Xp 32-bit.
following is the command I am running on command prompt.
C:\Program Files\SenchaSDKTools-2.0.0-beta3>sencha app create MyApp c:\xampp\htdocs\sencha\myapp\
Giving following error
[ERROR] the current workind directory (C:\Program
Files\SenchaSDKTools-2.0.0-beta3>) is not valid SDK directory. Please
'cd' in to a SDK directory before executing this command.
environment variable has been set following way.
Variable name : Path
Value : C:\Program Files\SenchaSDKTools-2.0.0-beta3
can anyone figure out what exactly wrong in this process ?
*****Sencha Touch setup Guide steps(in Window)******
Download Sencha Touch SDK Tool. (http://www.sencha.com/products/touch/download/ -->SDK Tools Beta for Developers). Run .exe file. It will install tool to default path. (i.e. C:\Program Files\SenchaSDKTools-2.0.0-beta3)
Download Sencha Touch SDK. (Download openSource version file licensed under GPL.).
Extract SDK you just download in step 2.
Open Command line terminal (start->Run->type cmd). Change directory path to SDK path as you just extracted in step3.
Verify that Sencha Command is working properly on your machine. So Type Sencha.
E.g. sdkPath>sencha
you will see "Sencha Command v2.0.2" message with other sencha command detail.
Create app in your web directory by typing following.
E.g. sdkpath> sencha app create firstSenchaApp "path/ to/ www"
(If you have tomcat 7 installed in your computer, give path to \apache-tomcat-7.0.30-windows-x86\apache-tomcat-7.0.30\webapps)
Note: There must not be space in directory path name. _(underscore),- (desk) are allowed.
If app is not generated in step 6. There might be an error. There are as follow:
If error message appear is "sencha' is not recognized as an internal or external command, operable program or batch file.”, follow these steps to troubleshoot:
The path to SDK Tools directory is prepended to your system's PATH environment variable.
From the terminal, run
echo $PATH or echo %PATH% .
The SDK Tools directory should be displayed in part of the output. If this is not the case, add it to your PATH manually.
The environment variable SENCHA_SDK_TOOLS_{version} is set, with the value being the absolute path to the installation directory mentioned above.
For example: If the installed version is '2.0.0-beta2', a SENCHA_SDK_TOOLS_2_0_0_BETA2 must be set.
From the terminal, run
echo $SENCHA_SDK_TOOLS_2_0_0_BETA2 or echo %SENCHA_SDK_TOOLS_2_0_0_BETA2% on Windows.
If the output is empty, set the environment variable manually.
Wrong Current Working Directory
A common mistake is not running Sencha Command within either a valid SDK directory or an application directory. If the current directory is not a SDK or application directory, "sencha" command will fallback to backwards-compatible mode. As of SDK Tools release "2.0.0-beta2", you should see a clear warning in such case:
"The current working directory (...) is not a recognized Sencha SDK or application folder. Running in backwards compatible mode." So in this case follow proper step as mentioned above.
Reference:
http://www.sencha.com/forum/showthread.php?192169-Important-SDK-Tools-Sencha-Command-Update
There is an invisible file that you need to copy, called .senchasdk. Make sure it is in the folder.
I think you're having the same problem I had; I had attempted to run 'sencha app create...' from the folder containing sencha.bat. Instead, you need to run 'sencha app create...' from the sencha-touch-2.0.1.1 folder (which contains the .senchasdk file).
See this previous SO question!
Save my days.
By the way, if you can't extract the sencha-cmd to sdk tools, try to extract on other location and copy the folder [3.0.0.250] to your sdk tools > [bin] folder.
hope this helps.