Taller de Python #1


Introducción a Python

En este taller veremos Python desde cero. Empezaremos por descargar nuestro interprete e iremos avanzando en conocimientos hasta llegar a desarrollar nuestros propios programas.
Python es un lenguaje scripting por lo tanto se interpreta en lugar de compilarse, a diferencia de otros lenguajes que es necesario pasarlos a binarios para que puedan ejecutarse.
Es un lenguaje multiplataforma, ya que no solo se usa en Windows, sino que también se puede usar en Linux, MAC, etc.
Una de las ventajas es que es un lenguaje muy prolijo y entendible a la hora de programarlo y esto facilita la tarea de aprenderlo.
A lo largo de este taller, veremos lo potente e importante que puede ser saber Python.

Instalación

Windows de 32 o 64 bits?

Lo que primero debemos hacer, es saber si nuestro sistema operativo es de 32 o 64 bits. Para ello vamos a:

Inicio >> Panel de control >> Sistema
 
En mi caso estoy utilizando un sistema operativo de 32 bits.
Lo que necesitaremos para poder programar en este lenguaje, será un editor de texto y el interprete de Python.
Con respecto al editor de texto, pueden utilizar cualquiera que les agrade o les resulte cómodo, yo utilizare Sublime Text 2

Y al intérprete de Python

Instalación en Windows

En la pagina del interprete, podremos ver lo siguiente: 

NOTA: Usaremos por ahora Python 2.x debido a que es la versión estable. Mas adelante, veremos algo de Python 3.x

Una vez descargado, ejecutamos el MSI que descargamos


Es muy importante saber la ruta en donde se instalara. Yo les recomiendo dejarla en donde viene por defecto que es en C:\Python27\
Damos en Next y continuamos la instalación hasta que finalice

Ahora abrimos una consola:
INICIO > EJECUTAR > COMMAND (En Windows 95,98)
INICIO > EJECUTAR > CMD  (En Windows XP)
INICIO > EN LA BARRA BUSCAR > CMD (En Windows Vista y 7)
Y dentro de la consola escribimos python, lo mas probable, es que les aparezca el siguiente error:

"python" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable.

Esto se debe a que no esta añadido en las variables de entorno, asique tipeamos lo siguiente:
PATH C:\Python27;%PATH%

Presionamos enter, cerramos la consola y la volvemos a abrir… Ahora si tipeamos python, debería aparecernos algo como esto:


Esto nos indica que lo hemos hecho bien, y ya podemos comenzar a programar.

Instalación en Linux

La instalacion en Linux es mucho mas facil… abrimos una consola (CTRL + ALT + T) y tipeamos:
sudo apt-get install python
Y esto nos instalara Python en linux.
Luego al comienzo de cada script, debemos añadir la linea:
#! /usr/bin/pyhton27
Para que el intérprete busque ahí las librerías.

Primeros pasos en Python 

Comenzaremos con programas básicos. Como dijimos en la introducción, Python es un lenguaje scripting ya que no es necesario compilarlo para poder ver el programa en funcionamiento.
Dentro de la consola, pondremos 5+7 y veremos lo que pasa

 

Rápidamente nos hará el cálculo.
Python se caracteriza por ser una potente calculadora. Es por eso que ahora probaremos con algo más avanzado.
En la consola pondremos 56+28-34*6
 

Ahora también podemos trabajar con variables, asignándoles algún valor.
Podemos probar con X=7
Seguido a esto colocamos 105*X


Hasta el momento se ve muy fácil y básico, aunque también muy tedioso ya que tipear comandos desde la consola no es muy gustoso, es por eso que ahora armaremos nuestro primer script.

Operadores Aritmeticos

 A continuación veremos los operadores que se suelen utilizar con frecuencia en Python.

 

Nuestro Primer Script

Abrimos nuestro editor de texto y haremos el famoso "Hola Mundo"
Dentro del editor pondremos:
print "Hola Mundo"


La sintaxis print sirve para mostrar una cadena de valores en pantalla. Un poco mas adelante lo veremos mas en detalle.
Ahora lo guardamos (CTRL + S) o (File >>Save As..), lo guardamos con extension *.py y nos aseguramos que en tipo de archivo diga “All Files (*.*)”

 

Y ahora lo correremos nuestro script desde la consola.
Es importante saber en donde guardamos nuestro script, yo lo hice en el escritorio, asique desde la consola, debemos pararnos en el directorio en donde esta guardado y tipeamos
python taller1.py
 
Y nos muestra nuestro Hola mundo…

Variables

Las variables en Python pueden estar formadas por letras o números, pero siempre deben comenzar con letras o un guion bajo. Algo a tener en cuenta, es que este lenguaje es sensible a mayúsculas y minúsculas. Es decir, para el intérprete no es lo mismo "A" que "a".

Las variables en Python pueden ser de tipo:

Numerica:

Enteros (Ej: 7) Son números positivos y negativos, que no poseen decimales.
Dentro de los enteros, tenemos dos tipos, Cortos (int) o Largos (long) expresados de la siguiente forma:
Entero_corto = 7
Entero_largo = 7L
Flotante (Ej: 7,9) Son todos números reales que posean decimales y se representan como (float)
Flotante = 1.345
Compleja o imaginaria (Ej: 2+3i) Son aquellos que poseen una parte real y otra imaginaria y se representan como (complex)
Imag = 4.3 + 7i
Cadenas de Texto: (Ej: "ANTRAX"), las cadenas de texto es simplemente texto y pueden estar entre comillas dobles o simples
Ej1 = "ANTRAX"
Ej2 = 'ANTRAX'
Booleano: True, False (Verdadero o Falso), Estos dos son muy utilizados en bucles o condiciones.

Concatenaciones

Como vimos antes, es posible sumar, restar, multiplicar, dividir, etc… Pero no solo se hace con números sino que también con letras, palabras y variables.
Realizaremos el siguiente ejemplo:

Como resultado tendremos


Ya que sumo las dos cadenas de texto, la del Hola y X que tenia almacenado otra cadena de texto.
Otra forma de concatenar dos cadenas de texto seria:
print "Hola" + "underc0de"
Y con eso obtendremos el mismo resultado que la forma anterior.
Ahora veremos un ejemplo un poco más complejo, en donde concatenaremos números, variables y cadenas de texto

Explico rápidamente, guarde mi nick en la variable a, luego en el print, lo que hice fue mostrar la cadena de texto "hola" concatenado con la variable "a" que es mi Nick, hasta aquí tenemos "hola ANTRAX" luego lo concatene con "el resultado de 145 + 34 es" y hasta aquí tendríamos "hola ANTRAX el resultado de 145 + 34 es" finalmente para concatenar con números, es necesario colocar una coma. Aquí lo que hace es resolver la suma algebraica de 145+34 y como resultado final tenemos:

 Comentarios

 Los comentarios sirven para ayudar a entender el código, para explicar una función o simplemente agregar algún texto.
Es importante saber que estos comentarios no son ejecutados a la hora de correr el programa. Para colocar un comentario, solo basta con poner el carácter numeral, seguido del comentario. Ejemplo:
#esto es un comentario
Aquí lo mostrare en el editor de texto:


Los comentarios suelen ser útiles a la hora de hacer publico un script, de esta forma, la persona que lo lea pueda entender mejor que hace cada función del código.

Python desde Android

Como parte extra de este taller, les enseñare a instalar Pythonen algún dispositivo móvil con Android, para que puedan programar desde el.
Lo que necesitamos descargar el ultimo APK del SL4a. Actualmente la última versión es la r6.
Instalamos como cualquier apk de android y lo abrimos.

 Presionamos en View
 Entramos a Interpreters

Y agregamos a Python… A demás de python, como podrán ver, pueden agregar Perl, Ruby, PHP entre otros

 Al presionar sobre Python, lo comienza a descargar

 
 Luego lo instalamos
 

Esto suele demorar algunos minutos en descargar los módulos y librerías


Una vez que termine, veremos algo como esto


 Volvemos a abrir SL4a y podremos ver scripts de muestra hechos en Python


Finalmente clickeando sobre alguno de ellos, tendremos la opción de editarlos o ejecutarlos.

Ejercitacion

1.- Realizar un código que concatene 3 variables, de las cuales 2 sean numéricas.
El usuario X lleva Y días y Z horas conectado
2.- Realizar un código para cada uno de los siguientes ejercicios. Cada número debe ser una variable
a. 273 * 4 + 97 * 5 – 1200 / 6
b. 1470 / 5 + 400 * 2 - 49**2
c. 15**5 / 50 – 37 * 4
Todos los resultados deben mostrarse de la siguiente forma:
El resultado es:

Automatizaciones en Android con Selenium II





1 – Introducción

En este documento voy a mostrar como lanzar automatizaciones en un dispositivo móvil con android, que puede ser teléfono o tablet y con eclipse elaboraremos un script que por medio de Selenium II será ejecutado en el dispositivo.

Los elementos que vamos a utilizar para este tutorial serán los siguientes:

-        Dispositivo móvil con Android y el USB (En mi caso es un Motorola XT300) o puede ser un emulador que lo encontramos dentro del SDK que descargaremos.
-        Android SDK (http://developer.android.com/sdk/index.html) Incluye Eclipse
-        Android Server APK (http://code.google.com/p/selenium/downloads/list)
-        Librerias de Selenium - Java (http://seleniumhq.org/download)
-        Conexion WIFI a internet

 2 – Integración de ADB

Descargamos Android SDK y lo descomprimimos. Copiamos la carpeta SDK y Eclipse y la pondremos en el disco C (Creandole una carpeta para alojar a ambos)
En mi caso los metí dentro de una carpeta llamada android y me quedo en esta ruta:

c:\android

Lo que sigue ahora es definir la variable de entorno. Para que el equipo me reconozca el adb que viene dentro del SDK.

Para ello vamos a:

Inicio >> Panel de control >> Sistema >> Configuraciones avanzadas del sistema

Una vez ahí dentro, nos dirigimos a la pestaña Avanzada >> Variables de entorno

Editamos el PATH y colocamos la ruta en la que copiamos el SDK. Deberíamos tener algo como esto:



Añadimos un punto y coma después de la ultima ruta, colocando la nuestra. En mi caso es

c:\android\sdk\platform-tools

Si todo quedo correcto, deberíamos poder colocar “adb” en una consola y debería traer los parámetros del mismo

Inicio >> cmd >> adb



Si llegamos hasta acá, quiere decir que todo está perfecto. De lo contrario, lo más seguro es que este mal definido el PATH.

3 – Instalación de drivers USB

Tomamos nuestro dispositivo móvil y vamos a activar el modo de depuración

Configuraciones >> Aplicaciones >> Desarrollo

Y tildamos “Depuración de USB”

Una vez hecho esto, conectamos el dispositivo a la PC y abrimos eclipse que está en la carpeta que creamos en el disco C.

Abrimos el Android SDK Manager y descargamos los USB Drivers. Al estar conectado el dispositivo móvil, identifica que drivers utiliza y descargara e instalara automáticamente los drivers necesarios.



Para saber si todo quedo bien instalado, abrimos una consola y tipeamos

adb devices

Y esto debería devolvernos un número de serie que es nuestro dispositivo conectado.



Si llegamos hasta acá, es por que venimos muy bien! En caso de lanzar error, es porque el driver del dispositivo, no fue bien instalado.

4 – Instalación de Android Server en el móvil

Abrimos una consola y nos paramos en el directorio en donde se encuentra el Android Server APK. Una vez ahi, escribimos la siguiente línea:

adb -s [serialId] -e install -r [APK]

En donde el serialId es el serial de nuestro dispositivo móvil y APK es el nombre con el cual descargaron el Android Server. Debería quedarles algo como esto:

adb -s 003089349226000000000000 -e install -r android-server-2.6.0.apk



Si nos aparece el Success como en la imagen, es porque quedo bien instalado.

Ahora iniciaremos la aplicación en el móvil con el siguiente comando

adb -s [serialId] shell am start -a android.intent.action.MAIN -n org.openqa.selenium.android.app/.MainActivity

Automáticamente, se iniciara en el móvil la aplicación WebDriver (recuerden reemplazar el SerialId por el de ustedes)



Finalmente seteamos el puerto de escucha con el siguiente comando

adb -s [serialId] forward tcp:8080 tcp:8080

5 – Creación del proyecto e importación de librerías

Abrimos eclipse y creamos un nuevo proyecto.

File >> New >> Java Project


Asignamos un nombre al proyecto y una ubicación, seguido a esto, damos click en Next.

Vamos a la pestaña de librerías y pulsamos el boton Add External JARs...

Añadimos la librería de android.jar que está dentro de:

sdk >> platforms >> android-4.2

Y las de selenium que descargamos



Finalmente clickeamos en Finish

6 – Ejecutando nuestro primer Script

File >> New >> JUnit Test Case

Le colocamos un nombre y damos click en Finish



Borramos lo que tenemos dentro del cuadro de código y colocamos el siguiente:

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.android.AndroidDriver;


public class androidtest {
               
private static WebDriver driver;
   
    @Before
    public void setUp() {
        driver = new AndroidDriver();
       driver.get("http://underc0de.org");
    }
   
    @After
    public void tearDown(){
        driver.close();
        driver.quit();
    }

@Test

public void measurePerformance() throws InterruptedException {
    Thread.sleep(3000);
    driver.findElement(By.className("readViewMoreBtn")).click();

}
}



Ejecutamos el Test Case y podremos verlo en nuestro móvil. Al finalizar, nos mostrara el resultado si se corrió bien o mal.

7 – Emulando el ambiente de prueba

Presionamos el icono del dispositivo móvil (ADV) que está en el eclipse. Y crearemos un nuevo dispositivo



Le asignamos un nombre, elegimos la resolución de pantalla y la versión de android, luego damos click en ok.


Seleccionamos el emulador, presionamos Start y luego Launch, y se abrirá el emulador.



Una vez hecho esto, los pasos para lanzar la prueba son los mismos que la anterior, es decir, repetimos los pasos del punto 4, que eran los de instalar el andoird server en el móvil.

Finalmente, lanzamos el test con eclipse



Y con esto podremos hacer más scripts y lanzar las pruebas contra el emulador.

Espero que les haya gustado y les sirva.


ANTRAX

Script auto subscribe facebook


Hola a todos, quizas mas de uno se ha pasado buscando este script y hoy se los facilito para que puedan utilizarlo.

El funcionamiento de este script es invitar a todos los contactos a suscribirse a un grupo. Ideal para aumentar el numero de gente en un grupo de facebook.

Lo unico que necesitamos es Chrome ya que lo ejecutaremos desde su consola de comandos.

Empezamos... Abrimos Chrome, nos logueamos en Facebook y nos vamos al grupo a aumentar las visitas


Una vez ahi, presionamos F12 y hacemos click en Console

 
Ahora pegamos el siguiente codigo en la consola:


 
Una vez pegado el codigo, presionamos ENTER y solo comenzara a invitar gente al grupo



Lo unico que debemos modificar del script es la url: https://www.facebook.com/groups/184470758242928/ por la url de su grupo.
Esta URL aparece al principio del script y al final

Espero que les sea de utilidad!

ANTRAX