xcodebuild has arguments related to Result Bundle, -resultBundlePath and -resultBundleVersion. By this change, Appium also can specify them in WebDriverAgent’s xcodebuild arguments. (It will be in 1.19.1) xcodebuild creates test results. In general, they are created in Logs like the below directory. Appium’s WebDriverAgent also has it. -resultBundlePath and -resultBundleVersion allow us to customize the…More
Category Archives: test automation
[Appium] response of /source by Appium/WDA
https://github.com/appium/WebDriverAgent returns the response with header Content-Type: application/json;charset=UTF-8. The body encode should be UTF-8, but /source endpoint by the appium/WebDriverAgent was detected as ASCII-8BIT by some http clients. appium/WebDriverAgent returns the XML body with NSUTF8StringEncoding. According to the documentation, the encoding is: An 8-bit representation of Unicode characters, suitable for transmission or storage by ASCII-based…More
[iOS] Instruments template and xctrace templates
Instruments will be deprecated in Xcode 12 as below. Previously, instruments command was used. The result of xcrun xctrace list templates: The result of instruments -s:More
[Appium] disableSuppressAccessibilityService
Appium 1.18.0 finally got disableSuppressAccessibilityService capability. It allows users to run tests against the app under test that requires accessibility service such as TalkBack. In general, the service works only one, but UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES flag relaxes the limitation. The disableSuppressAccessibilityService capability sets the flag. Then, Appium can run tests with accessibility services. Yey. (Of course, this…More
[Selenium] WebView2 in msedgedriver
I noticed https://docs.microsoft.com/en-us/microsoft-edge/webview2/howto/webdriver The WebView2 is by Microsoft. I did not know it was able to automate with WebDiver. The automation name should be webview2 , the binary should be the app under test. Then, the msedgedriver launches the app under test and establish a connection to the WebView2. So, something like below:More
[Appium] iOS x Audio Capture
Audio capturing feature for iOS is coming in Appium 1.18.0 https://appium.io/docs/en/writing-running-appium/ios/audio-capture/ (Currently it is available as appium@beta). It is not handy to record audio especially on real devices, but when we bypass audio input from iPhone to the host macOS machine via MIDI, it can. Yey. I personally think it is easy to use cloud…More
[Firefox] CDP for Firefox
Firefox has a remote debugger feature. https://docs.firefox-dev.tools/backend/protocol.html The debugger is available via socket or WebSocket when we launch a Firefox with –start-debugger-server argument like firefox –start-debugger-server ws:9090. Then, WebSocket clients can connect to it. But the command protocol is not CDP (Chrome DevTools Protocol). The format also Firefox specific (and not on the documentation well?)…More
[Appium] Take a look at socket communication for WebKit
Read https://github.com/appium/appium-remote-debugger/blob/master/development-notes.md Once you could connect to the socket successfully, like below dump appears. com.apple.testmanagerd is testmanagerd. com.apple.CoreSimulator.SimDevice is simulators. Then, you can observe their exact communication protocol.More
[Python] attach to an existing session
This is my note to attach to an existing Selenium/Appium session in Python. It is useful to debug/develop Selenium/Appium stuff.More
[Linux] note for Linux Desktop automation
I have experienced https://github.com/ldtp/ldtp2 a bit before. https://gitlab.com/dogtail/dogtail is a new one I found recently.More