Appium automation testing How to use Android native Camera - ruby

I want to write a simple Automated test that launches and takes a picture from Androids's native Camera. I can launch the Camera but cant take the picture.
Iv tried looking in Appium Inspector to get the :xpath for the button that takes the pic so that i can do a ".click" on it, But its not there.
Im new to Appium, I haven't been able to find any info online. I dont know even if this is possible.
Thanks

Some People have said press_keycode 27 should work but it doesn't for me.
I've done a quick fix by using the Co-ordinates of the 'take image' Button and then tapping it e.g.
Appium::TouchAction.new.tap(x: 1770, y: 540).perform
But this is only valid on a specific Device i.e. my Samsung s4

Related

Has any one got camera errors in a widows machine, after using camera to opencv projeccts?

I was working on an OpenCV project. There I used OpenCV to get video captures and then used some algorithms to face detection and face-swapping. After working on this project for about two weeks, I got errors in my camera (windows camera application). attached one error but sometimes I got different errors as well. I want to know, Did I get those errors due to this OpenCV project?.
If your application still runs, you cannot achieve from windows application at the same time. If not, basic reset always saves lives!
Click Windows key + I to open Settings app.
Select System>Apps & features and find Camera on the list.
Click Advanced options link.
Then press Reset button and wait for the process to be executed.
Secondly, check if the camera works properly from device manager.
Lastly, try to open from another app(like Skype, discord). Otherwise, update or roll-back driver of the camera.

Google play tablet 7-inch screenshots

Google play console wants me to add some 7-inch tablet screenshots in order to make the app easily accessible to tablets. But I don't have any tablet. Don't understand what's the problem. I have made screenshots in the final phase of development, testing the game in the Unity editor. I suppose these .png images are as good as if they were made from a phone. I don't even know how to make screenshots from a phone.
Is there a hidden feature to identify a screenshot as being made from the 7-inch tablet? Why don't they simply state the image resolution they want for the tablet "screenshot"??
Actually, it doesn't matter what resolution your image is. Just upload the images to that section, the purpose of that section is only to let your users have a first look of what your app looks like before they install it. If you don't intend to make your app for Tablet, just let that section empty, upload images only to Phone's section.
If you are using an Android phone such as Samsung, I would recommend you have a look at Settings/Advanced Features/ Smart Capture (turn it on). Then you can swipe your screen to take a screenshots (it has a tutorial there)

ARCore unity debugging

For example I try to print out to the console and it doesn't, my script is attached to my main camera so we can rule that out and yes the script is active also, any help will be appreciated, right now what I am working on is to click on a certain part of my GameObject in AR and while my phone is connected to the computer I want to see the name of the certain part I clicked on in the console.
When you run the app on and Android device the log does not go to the Unity editor console. In order to see it you need to open Android Studio and then use the Logcat tab to see the device log.
Alternatively, you can run logcat from the command line
adb logcat.
More information: https://developer.android.com/studio/command-line/logcat.html
I have worked with ARCore and had the same frustating experience when it comes to debugging.
If you just want console prints, then use Log viewer which can catch and show them on Android too. (https://assetstore.unity.com/packages/tools/log-viewer-12047)
However, because I wanted more control and the ability to test and debug my game logic right inside the editor (without deploying to the phone all the time), I wrote a little plugin that allows me to do just that. This plugin simulates the operation of ARCore inside Unity editor. You can just hit play and ARCore will be simulated for you, so you can freely develop and debug your game logic. Moreover, you can then just build and deploy the project without changing anything, and ARCore will work like normal on your phone.
Using it is very similar to native ARCore, so you will not have much difficulty getting into it. It does not cover ALL features of ARCore yet, but it covers the basics. You can still use native ARCore for the rest.
You can find it here: https://github.com/VR-House/Eazy-ARCore-Interface
In current versions of Unity you can output logs from connected devices to Unity Editor. To do this, build your project in Development Mode and connect the Console to your device.
But I would recommend a more advanced way of testing AR in Editor with a plugin I wrote. I wrote it for my project and decided to make it into a plugin so everyone else can benefit from it.
AR Foundation Editor Remote plugin:
https://forum.unity.com/threads/ar-foundation-editor-remote-test-and-debug-your-ar-project-in-the-editor.898433/
I use debugging like this in C# script:
Debug.Log("Debug message and image name "+Image.Name);
To see this real time, I use Android Device Monitor (it's in Android's sdk folder, usually \Users\AppData\Local\Android\sdk\tools\monitor.bat. If device is connected, it appears on the devices list and it can be selected.
Or if I want to see the debug log in device, I put these lines in script:
private void OnGUI()
{
GUIStyle style = new GUIStyle();
style.fontSize = 50;
GUI.Box(new Rect(350, 0, 500, 500), Image.Name, style);
}
The Rect(350,0 is the position, 500,500 is the width and height of rectangle.

Adding screenshot in iTunes Connect without real Device

I am about to submit my app in iTunes connect.
Now it is asking me for screenshots for a 3.5-inch, 4-inch, 4.7-inch and 5.5-inch.
Since I coded it in swift I guess I can skip the 3.5inch part?
But my question is: I only have an 4-inch device available. How can I add the screenshots of the 4.7 and 6inch? maybe with the simulator?
Thank you
In the iOS Simulator File > Screenshot
That saves a screenshot to your desktop.
Simulator should be fine. You can edit it using Sketch, I found it really helpful.
I tried a few different methods, and what worked best for me in a short amount of time was to capture screenshots in the iOS Simulator at 100% scale and then resize them using GIMP, which is free unlike Sketch.
If you're in the business of creating screenshots for many devices, across locales or with frequent screenshot update needs it's best to look into automation with tool like Snapshot.

ObjectiveC/Cocoa Screencapture/Crosshead mouse pointer selector help

I want to write a basic app so I can upload some images to my personal server and as the CMD+Shift+4 Screen capture method apple offers doesn't let you upload your images I thought I would start from scratch... I've looked around quite a lot on how to make something what lets me grab a selection of my screen (like the crosshair apple offer) and can't find any samples/pointers however I've seen other tools such as gyazo use the exact same capture system apple offer :S... Is it some sort of framework I can access in Xcode or something?
If anyone knows how its done I would be very grateful.
Thanks
Liam
You can just run screencapture(1) and capture to a temporary file location which your app then reads.

Resources