Compare commits

..
10 Commits
Author SHA1 Message Date
butomo1989 cf0ebd7eb9 Fixed #138 2019-01-15 10:19:42 +01:00
butomo1989 32cb68f6c9 Updated base image 2019-01-08 10:48:11 +01:00
Budi UtomoandGitHub 98b0b3a140 Merge pull request #134 from tadashi0713/add_unittest_relaxed_security
Add unittest to run appium with relaxed security
2019-01-07 09:20:58 +01:00
Tadashi NemotoandGitHub 2c9c421c35 Merge branch 'master' into add_unittest_relaxed_security 2019-01-05 15:59:12 +09:00
tadashi0713 afea49a2c8 Add unittest to run appium with relaxed security 2019-01-05 15:56:24 +09:00
butomo1989 442a10afd2 Fixed wrong file 2019-01-02 13:32:09 +01:00
butomo1989 478e0d0e51 Added blog about integration between Genymotion and DockerAndroid 2019-01-02 13:29:40 +01:00
butomo1989 17d09eb835 Renamed 2018-11-29 09:16:30 +01:00
butomo1989 09c3fbe765 Edited wrong port 2018-11-29 09:09:07 +01:00
butomo1989 b285d8a1da Renamed type for consistency in article 2018-11-29 09:07:26 +01:00
13 changed files with 32 additions and 13 deletions
+4 -2
View File
@@ -188,9 +188,11 @@ This [document](README_CLOUD.md) contains information about deploying Docker-And
Genymotion
----------
![Genymotion](images/logo_genymotion.png)
<p align="center">
<img id="geny" src="./images/logo_genymotion_and_dockerandroid.png" />
</p>
For you who do not have ressources to maintain the simulator or to buy machines or need different device profiles, you need to give a try to [Genymotion Cloud](https://www.genymotion.com/cloud/). Docker-Android is integrated with Genymotion on different cloud services, e.g. Genymotion Cloud, AWS, GCP, Alibaba Cloud. Please follow [this document](README_GENYMOTION.md) for more detail.
For you who do not have ressources to maintain the simulator or to buy machines or need different device profiles, you need to give a try to [Genymotion Cloud](https://www.genymotion.com/cloud/). Docker-Android is integrated with Genymotion on different cloud services, e.g. Genymotion Cloud, AWS, GCP, Alibaba Cloud. Please follow [this document](README_GENYMOTION.md) or [this blog](https://medium.com/genymobile/run-your-appium-tests-using-docker-android-genymotion-cloud-e4817132ccd8) for more detail.
Troubleshooting
---------------
+3 -1
View File
@@ -1,6 +1,8 @@
Genymotion Cloud
----------------
![Genymotion](images/logo_genymotion.png)
You can easily scale your Appium tests on Genymotion Android virtual devices in the cloud. They are available on SaaS or as virtual images on AWS, GCP or Alibaba Cloud.
1. On SaaS <br />
@@ -11,7 +13,7 @@ You can easily scale your Appium tests on Genymotion Android virtual devices in
export PASS="xxx"
export LICENSE="xxx"
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -e TYPE=genycloud -e USER=$USER -e PASS=$PASS -e LICENSE=$LICENSE butomo1989/docker-android-genymotion
docker run -it --rm -p 4723:4723 -v $PWD/genymotion/example/sample_devices:/root/tmp -e TYPE=SaaS -e USER=$USER -e PASS=$PASS -e LICENSE=$LICENSE butomo1989/docker-android-genymotion
```
<p align="center">
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:1.9.1-p0
FROM appium/appium:1.10.0-p0
LABEL maintainer "Budi Utomo <budi.ut.1989@gmail.com>"
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:1.9.1-p0
FROM appium/appium:1.10.0-p0
LABEL maintainer "Budi Utomo <budi.ut.1989@gmail.com>"
+1 -1
View File
@@ -1,4 +1,4 @@
FROM appium/appium:1.9.1-p0
FROM appium/appium:1.10.0-p0
LABEL maintainer "Budi Utomo <budi.ut.1989@gmail.com>"
+2 -2
View File
@@ -11,7 +11,7 @@ services:
- 4444:4444
# Please stop this container by using docker stop instead of docker-compose stop
cloud:
saas:
image: butomo1989/docker-android-genymotion
depends_on:
- selenium_hub
@@ -20,7 +20,7 @@ services:
- $PWD/sample_apk:/root/tmp/sample_apk
- $PWD/sample_devices:/root/tmp
environment:
- TYPE=genycloud
- TYPE=SaaS
- TEMPLATE=/root/tmp/devices.json
- USER=$USER
- PASS=$PASS
+1 -1
View File
@@ -32,7 +32,7 @@
},
{
"from_port": 51000,
"to_port": 51000,
"to_port": 51100,
"protocol": "tcp",
"cidr_blocks": "0.0.0.0/0"
},
+1 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
# This script is needed because of https://www.ctl.io/developers/blog/post/gracefully-stopping-docker-containers/
types=(genycloud aws)
types=(saas aws)
if [ -z "$TYPE" ]; then
echo "Please specify one of following types: ${types[@]}"
Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

+2 -1
View File
@@ -124,7 +124,8 @@ def appium_run(avd_name: str):
grid_connect = convert_str_to_bool(str(os.getenv('CONNECT_TO_GRID', False)))
logger.info('Connect to selenium grid? {connect}'.format(connect=grid_connect))
if grid_connect:
local_ip = os.popen('ifconfig eth0 | grep \'inet addr:\' | cut -d: -f2 | awk \'{ print $1}\'').read().strip()
# Ubuntu 16.04 -> local_ip = os.popen('ifconfig eth0 | grep \'inet addr:\' | cut -d: -f2 | awk \'{ print $1}\'').read().strip()
local_ip = os.popen('ifconfig eth0 | grep \'inet\' | cut -d: -f2 | awk \'{ print $2}\'').read().strip()
try:
mobile_web_test = convert_str_to_bool(str(os.getenv('MOBILE_WEB_TEST', False)))
appium_host = os.getenv('APPIUM_HOST', local_ip)
+1 -1
View File
@@ -321,7 +321,7 @@ elif [ "$GENYMOTION" = true ]; then
echo "${types[@]}"
case $TYPE in
"${types[0]}" )
echo "Using Genymotion-Cloud"
echo "Using Genymotion-Cloud (SaaS)"
prepare_geny_cloud
run_appium
;;
+2 -1
View File
@@ -1,5 +1,6 @@
#!/bin/bash
ip=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
#Ubuntu 16.04 -> ip=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
ip=$(ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{ print $2}')
socat tcp-listen:5554,bind=$ip,fork tcp:127.0.0.1:5554 &
socat tcp-listen:5555,bind=$ip,fork tcp:127.0.0.1:5555
+13
View File
@@ -64,6 +64,19 @@ class TestApp(TestCase):
self.assertTrue(mocked_subprocess.called)
self.assertTrue(mocked_appium.called)
@mock.patch('src.app.prepare_avd')
@mock.patch('builtins.open')
@mock.patch('subprocess.Popen')
def test_run_with_appium_and_relaxed_security(self, mocked_avd, mocked_open, mocked_subprocess):
with mock.patch('src.app.appium_run') as mocked_appium:
os.environ['APPIUM'] = str(True)
os.environ['RELAXED_SECURITY'] = str(True)
app.run()
self.assertTrue(mocked_avd.called)
self.assertTrue(mocked_open.called)
self.assertTrue(mocked_subprocess.called)
self.assertTrue(mocked_appium.called)
@mock.patch('src.app.prepare_avd')
@mock.patch('builtins.open')
@mock.patch('subprocess.Popen')