-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnotes
99 lines (86 loc) · 5.66 KB
/
notes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Para ejecutar el proyecto por primera vez:
pip install -r requirements.txt
python manage.py makemigrations pruebas_app
python manage.py migrate
PAra guardar un archivo local en un modelo de Django seguir estas practicas:
https://gist.github.com/avoiney/5248673
Lo del file lo saque de aqui https://mdbootstrap.com/docs/jquery/forms/file-input/
Sacar la version de la app seleccionada, aqui hay un tuto https://simpleisbetterthancomplex.com/tutorial/2018/01/29/how-to-implement-dependent-or-chained-dropdown-list-with-django.html
aqui otro: https://stackoverflow.com/questions/25706639/django-dependent-select (este me gusta mas)
En la ruta del worker de cypress es necesario instalar cypress con el siguiente comando
npm install cypress --save-dev
PAra referenciar la ruta de instalacion de cypress se debe agregar la variable de entorno:
PA_CYPRESS_PATH
Para saber el nombre de un paquete del apk ejecutar el comando:
aapt dump badging "C://Users//Nicolas Lema//Desktop//Miso uniandes - no version//Pruebas automaticas//MISO4208-202010//archivos//apk//Car_Report_1_RedReader-modificada_mSWayic.apk" | findstr -i "package:"
Este comando solo se puede ejecutar en la ruta:
../Android/SDK/build-tools/{version de build}
La version de build depende de cada instalacion, por eso lo meti como una variable de entoerno nueva llamada: PA_VERSION_ANDROID_STUDIO
En la ruta del worker de calabash es necesario ejecutar el comando:
calabash-android gen
Para poder que me funcionara Calabash segui la sugerencia de este post:
https://github.com/calabash/calabash-android/issues/802
Tuve que desinstalar ruby por el admin de programas y borrar la arpeta del C:/Ruby
Volver a instalar pero la version rubyinstaller-devkit-2.5.1-1-x64.exe
Fue necesario instalar RubyZip 1.2.1
gem install rubyzip -v 1.2.1
Luego el calabash:
gem install calabash-android -v 0.9.8
Luego firmar el apk con el comando:
calabash-android resign "C://Users//Nicolas Lema//Desktop//Miso uniandes - no version//Pruebas automaticas//Taller5-BDD//2. Calabash//Transmilenio.apk"
Luego correrle el build
calabash-android build "C://Users//Nicolas Lema//Desktop//Miso uniandes - no version//Pruebas automaticas//Taller5-BDD//2. Calabash//Transmilenio.apk"
Luego correr las pruebas
calabash-android run "C://Users//Nicolas Lema//Desktop//Miso uniandes - no version//Pruebas automaticas//Taller5-BDD//2. Calabash//Transmilenio.apk"
En la ruta de resemblejs es necesario seguir los siguientes pasos:
iniciar un proyecto npm con: npm init
instalar resemblejs con el comando: npm install resemblejs
instalar fs con el comando: npm install fs
Pegar el archivo index.js que dejo en el grupo de teams
Este archivo se usa asi: salida = subprocess.run(['node', 'index.js',imagen1_1, imagen2_2, imagen3], shell=True, cwd=settings.RESEMBLE_PATH, stdout=subprocess.PIPE)
recibe las dos imagenes a comparar y escribe en la tercera la diferencia, ademas con salida.stdout.decode('utf-8') se obtiene la diferencia que entrega resemblejs en JSON
Para el worker de puppeteer es necesario instalar puppeteer, jest cli y el reporteador ejecutando:
npm i puppeteer
npm install jest --global
npm install jest-html-reporter --save-dev
Para configurar el reporteador es necesario modificar el archivo jest.config.js en la ruta de puppeteer y agregar:
reporters: [
"default",
["./node_modules/jest-html-reporter", {
"pageTitle": "Test Report",
"includeFailureMsg": true
}]
],
Para referenciar la ruta de instalacion de puppeteer se debe agregar la variable de entorno:
PA_PUPPETEER_PATH
Para referenciar la cola de puppeteer se debe agregar la variable de entorno:
PA_SQS_PUPPETEER_NAME
Para iniciar un emulador se requiere ejecutar el comando:
emulator @Nexus_5_API_29 parado en la ruta ../SDK/emulator
el emulador ya debe estar creado en el computador
Agregue la tabla Dispositivo que tiene 3 campos y se deben agregar asi:
devide_definition: Nexus 5
api_level: 22
nombre_tecnico: se genera solo al guardar y produce el campo: @Nexus_5_API_29 que es como lo recibe el comando
Para matar un emulador se requiere ejecutar el comando:
adb -s emulator-5554 emu kill
emulator-5554 es el nombre del dispositivo que esta corriendo, para obtener los dispositivos que estan corriendo
se ejecuta el comando:
adb devices (parado en la ruta del SDK)
este comando entrega una salida asi:
List of devices attached
emulator-5554 device
emulator-5556 device
Se agrega funcionalidad de importar/exportar datos para facilitar la insercion de los operadores,
seguir esta guia: https://django-import-export.readthedocs.io/en/latest/getting_started.html#admin-integration
importar el archivo que se encuentra en common\datos\Operador-2020-04-21.json por el admin en la nueva opcion que se creo llamada import
Se agrega funcionalidad para mutacion
referenciar en la variable de entorno MUTAPK_PATH la ruta de instalacion de muteAPK
dentro de esta crear a mano las carpetas mutants, apk y properties
mutants: aqui van a quedar todos los mutantes de manera temporal, en cada ciclo lo primero que se hace es borrarlos
apk: se copian temporalmente el apk que se va a mutar
properties: se crea siempre un archivo de operators.properties con los operadores seleccionados para la mutacion siguiendo el estandar
configurar cucumber webdriverio
clonar el repositorio: https://github.com/stillirrom/worker-cucumber
hacer npm install del repositorio
configurar las variables de entorno con la ruta local a la instalación de cucumber