Pesquisar este blog
terça-feira, 16 de dezembro de 2014
quarta-feira, 10 de dezembro de 2014
TestLink + Python - Reportando os testes realizados.
Nesse post vamos fazer uma classe genérica para reportar o resultado do teste realizado para o TestLink.
Vamos listar as coisas que devemos fazer primeiro para criar o reporte no testlink.
1. Precisamos criar primeiro os seguinte itens: Test Project Management Test Plan Management.
- Como estes dois Itens não mudam todo tempo, recomendo fazer manualmente no inicio do projeto, caso você queira fazer, já digo que a ultima versão do TestLink 1.9.12 esta com um bug quando você tenta fazer várias vezes o Test Plan Management, a tela fica em branco, pode ser problema de memória, mas não perdi muito tempo com isso.
- Criamos uma função para criar o Build - create_build(self, newBuildID, buildName, buildNotes), passamos como paramêtro ID do build, nome do build, descrição do mesmo.
4. Pegar o ID do Test Plan passando o Nome do Test Plan como parâmetro para a função getTestPlanId(self, NEWTESTPLAN).
5. Agora vamos realizar o reporte do teste realizado, passando os dados (id do caso de teste, id do plano de teste, buildname, resultado do teste -> PASSED=p , FAILED=f , BLOCKED=b, descrição do teste realizado) para a função reportTCResult(self, tcid, tpid, buildname, Result, notes).
Exemplo:
"""
Class Testlink to connection with server TestLink
Author: Reinaldo M.R.J
Date: 10-12-2014 - Version: 0.X
"""
import testlink
class class_Testlink(object):
def __init__(self):
# Endereço do Servidor xmlrpc
TESTLINK_SERVER_URL = '.../lib/api/xmlrpc/v1/xmlrpc.php'
# Chave gerada pelo TestLink
TESTLINK_DEVKEY = 'bdcc743a0cd80052bf8c28XXXXXXXX'
tlh = testlink.TestLinkHelper(TESTLINK_SERVER_URL, TESTLINK_DEVKEY)
self.myTestLink = tlh.connect(testlink.TestlinkAPIClient)
# Nome do Projeto, caso você tenha vários poderia enviar como parâmetro para classe.
self.Project = "XXXXXXXX"
def reportTCResult(self, tcid, tpid, buildname, Result, notes):
return self.myTestLink.reportTCResult(tcid, tpid, buildname, Result, notes)
def testCaseIDByName(self, TESTCASE):
response = self.myTestLink.getTestCaseIDByName(TESTCASE, testprojectname=self.Project)
print response
response = response[0].get("id")
return response
def getTestPlanId(self, NEWTESTPLAN):
response = self.myTestLink.getTestPlanByName(self.Project, NEWTESTPLAN)
print "getTestPlanByName", response
response = response[0].get("id")
return response
def create_build(self, newBuildID, buildName, buildNotes):
newBuild = self.myTestLink.createBuild(newBuildID, buildName, buildNotes)
isOk = newBuild[0]['message']
if isOk == "Success!":
newBuildID = newBuild[0]['id']
print "New Test Build '%s' - id: %s" % (buildName, newBuildID)
else:
print "Error creating the Test Build '%s': %s " % (buildName, isOk)
return
quarta-feira, 19 de novembro de 2014
Instalando o TestLink-API-Python-client (TestLink + Python)
Nesse post vamos fazer a conexão dos scripts em python com o TestLink, é uma ótima solução para reportar o resultado dos seus testes automatizados.
A forma mais fácil de instalar via Python, é pelo comando abaixo:
pip install TestLink-API-Python-client
No link abaixo temos como instalar o PIP:
http://reinaldorossetti.blogspot.com.br/2014/01/instalando-o-selenium-no-python-na.html
Fizemos um código para realizar a conexão com o Servidor, segue o código abaixo:
import testlink
TESTLINK_API_PYTHON_SERVER_URL='<server_web_do_teste_link>/lib/api/xmlrpc/v1/xmlrpc.php'
TESTLINK_API_PYTHON_DEVKEY='Sua Chave gerada no TestLink'
testlink.TestLinkHelper(TESTLINK_API_PYTHON_SERVER_URL,TESTLINK_API_PYTHON_DEVKEY)
myTestLink = tlh.connect(testlink.TestlinkAPIClient)
print myTestLink.whatArgs('createTestPlan')
print ""
print "Number of Projects in TestLink: %s " % myTestLink.countProjects()
print "Number of Platforms (in TestPlans): %s " % myTestLink.countPlatforms()
print "Number of Builds : %s " % myTestLink.countBuilds()
print "Number of TestPlans : %s " % myTestLink.countTestPlans()
print "Number of TestSuites : %s " % myTestLink.countTestSuites()
print "Number of TestCases (in TestSuites): %s " % myTestLink.countTestCasesTS()
print "Number of TestCases (in TestPlans) : %s " % myTestLink.countTestCasesTP()
print ""
** Caso der algum erro tente os seguintes passos:
1. Cria o arquivo __init__.py no diretório dos seus arquivos;
2. Verifique a sua chave gerada, se for o caso gerar uma nova como admin;
3. Verifique a URL, que é o caminho do servidor xmlrpc dependendo da versão o caminho é diferente;
4. Verifique a Indentação do código.
5. Verifique versão do Python a versão compatível 2.7.8, com versões 3.3 tive problemas.
No Tutorial da API diz para criar as variáveis de ambiente, no caso fiz processo pelo Windows não funcionou como esperado, então passei essas informações como parâmetro para a classe de conexão "TestLinkHelper" e funcionou bem, assim não precisa configurar a variável de Ambiente no Windows, agora é feito direto no código.
A forma mais fácil de instalar via Python, é pelo comando abaixo:
pip install TestLink-API-Python-client
No link abaixo temos como instalar o PIP:
http://reinaldorossetti.blogspot.com.br/2014/01/instalando-o-selenium-no-python-na.html
Fizemos um código para realizar a conexão com o Servidor, segue o código abaixo:
import testlink
TESTLINK_API_PYTHON_SERVER_URL='<server_web_do_teste_link>/lib/api/xmlrpc/v1/xmlrpc.php'
TESTLINK_API_PYTHON_DEVKEY='Sua Chave gerada no TestLink'
testlink.TestLinkHelper(TESTLINK_API_PYTHON_SERVER_URL,TESTLINK_API_PYTHON_DEVKEY)
myTestLink = tlh.connect(testlink.TestlinkAPIClient)
print myTestLink.whatArgs('createTestPlan')
print ""
print "Number of Projects in TestLink: %s " % myTestLink.countProjects()
print "Number of Platforms (in TestPlans): %s " % myTestLink.countPlatforms()
print "Number of Builds : %s " % myTestLink.countBuilds()
print "Number of TestPlans : %s " % myTestLink.countTestPlans()
print "Number of TestSuites : %s " % myTestLink.countTestSuites()
print "Number of TestCases (in TestSuites): %s " % myTestLink.countTestCasesTS()
print "Number of TestCases (in TestPlans) : %s " % myTestLink.countTestCasesTP()
print ""
** Caso der algum erro tente os seguintes passos:
1. Cria o arquivo __init__.py no diretório dos seus arquivos;
2. Verifique a sua chave gerada, se for o caso gerar uma nova como admin;
3. Verifique a URL, que é o caminho do servidor xmlrpc dependendo da versão o caminho é diferente;
4. Verifique a Indentação do código.
5. Verifique versão do Python a versão compatível 2.7.8, com versões 3.3 tive problemas.
No Tutorial da API diz para criar as variáveis de ambiente, no caso fiz processo pelo Windows não funcionou como esperado, então passei essas informações como parâmetro para a classe de conexão "TestLinkHelper" e funcionou bem, assim não precisa configurar a variável de Ambiente no Windows, agora é feito direto no código.
# precondition a) |
# SERVER_URL and KEY are defined in environment |
# TESTLINK_API_PYTHON_SERVER_URL=http://YOURSERVER/testlink/lib/api/xmlrpc.php |
# TESTLINK_API_PYTHON_DEVKEY=7ec252ab966ce88fd92c25d08635672b |
# |
# alternative precondition b) |
# SERVEUR_URL and KEY are defined as command line arguments |
# python TestLinkExample.py --server_url http://YOURSERVER/testlink/lib/api/xmlrpc.php |
# --devKey 7ec252ab966ce88fd92c25d08635672b |
# |
# ATTENTION: With TestLink 1.9.7, cause of the new REST API, the SERVER_URL |
# has changed from |
# (old) http://YOURSERVER/testlink/lib/api/xmlrpc.php |
# to |
# (new) http://YOURSERVER/testlink/lib/api/xmlrpc/v1/xmlrpc.php |
sexta-feira, 14 de novembro de 2014
terça-feira, 8 de julho de 2014
Pra quem deseja estudar Orientação a Objetos.
Pra quem deseja estudar Orientação a Objetos, recomendo python pois a linha de aprendizado é mais curta que em java e outras linguagens, segue uns links abaixo, recomendo o livro Python Programming for the Absolute Beginner, 3rd Edition by Michael Dawson pra quem esta começando:
- Python Types and Objects
- Python Attributes and Methods
- Python official documentation
- PEP 252 -- Making Types Look More Like Classes
- Python’s super() considered super!
- A Guide to Python's Magic Methods
- Improve Your Python: Python Classes and Object Oriented Programming
- Drastically Improve Your Python: Understanding Python's Execution Model
- OOP Concepts in Python 2.x - Part 1
- OOP Concepts in Python 2.x - Part 2
- OOP Concepts in Python 2.x - Part 3
terça-feira, 7 de janeiro de 2014
Instalando o Selenium no Python na plataforma Windows.
Para instalar o selenium dentro do python para executar os script do selenium pelo python siga os passos abaixo.
1. Instalar o Python 2.7.xx
2. Instalar o setuptools do python: https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20
3. Instalar o PIP: https://sites.google.com/site/pydatalog/python/pip-for-windows
4. Digite o comando abaixo sem aspas no prompt do windows, na pasta C:\Python27\Scripts>
"pip install -U selenium"
5. Selenium instalado no Python execute um script selenium para testar.
Pode criar um .bat com o comando pra executar o script selenium:
C:\Python27\python.exe C:\Scripts\teste.py
Insira no Arquivo teste.py as linhas de código abaixo e execute o .bat criado, exemplo:
Dica: Quando o browser é atualizado o Firefox, é necessário atualizar novamente o selenium, executando o comando "pip install -U selenium".
1. Instalar o Python 2.7.xx
2. Instalar o setuptools do python: https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20
3. Instalar o PIP: https://sites.google.com/site/pydatalog/python/pip-for-windows
4. Digite o comando abaixo sem aspas no prompt do windows, na pasta C:\Python27\Scripts>
"pip install -U selenium"
5. Selenium instalado no Python execute um script selenium para testar.
Pode criar um .bat com o comando pra executar o script selenium:
C:\Python27\python.exe C:\Scripts\teste.py
Insira no Arquivo teste.py as linhas de código abaixo e execute o .bat criado, exemplo:
import unittest from selenium import webdriver from selenium.webdriver.common.keys import Keys class PythonOrgSearch(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def test_search_in_python_org(self): driver = self.driver driver.get("http://www.python.org") self.assertIn("Python", driver.title) elem = driver.find_element_by_name("q") elem.send_keys("selenium") elem.send_keys(Keys.RETURN) self.assertIn("Google", driver.title) def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()
Dica: Quando o browser é atualizado o Firefox, é necessário atualizar novamente o selenium, executando o comando "pip install -U selenium".
Assinar:
Postagens (Atom)