Visualizzazione post con etichetta bugzilla. Mostra tutti i post
Visualizzazione post con etichetta bugzilla. Mostra tutti i post

lunedì 21 maggio 2012

Selenium e Bugzilla

Introduzione

Nella guida su BugzillaQA ( https://wiki.mozilla.org/Bugzilla:QA) si spiega come eseguire dei test automatici con Selenium su Bugzilla.


La procedura di configurazione, per un neofita come me, è lunga e tediosa e a conti fatti non so se vale la pena il tempo e la fatica impiegata.
Scopo finale di tuta questo penoso cammino è quello di mettersi in condizioni per scrivere ed eseguire degli script di testing in Perl, linguaggio ch enon conosco e che a prima vista neanche mi piace.
E' come intraprendere un impervio sentiero sotto la pioggia (l'installazione e configurazione di selenium, perl, e quanto ne consegue) che ti porta finalmente a scalare una montagna ostile (perl) alla cui vetta ti attendono nubi e freddo (testscript per bugzilla)...non proprio invitante.


Cmq ormai sono giunto alla fine di questo cammino e scrivo delle note come promemoria.


Si parte dalla guida di BugzillaQA ( https://wiki.mozilla.org/Bugzilla:QA) che ci dice per prima cosa di scaricare gli script già pronti per testare BZ tramite Selenium Server.

Bazaar

I sorgenti con gli script sono archiviati su Bazaar.
Si tratta di un sistem di gestione delle versioni. Per potervi accedere e scaricare il codice occorre installare il client da Bazaar
ATTENZIONE, non è immediato da usare come lo è Tortoise, io ho fatto un po' di confusione e ancora non ne son venuto fuori, ho un sacco di cartelle con un'icona con il punto interrogativo, alcune con un baffo verde e non so come a rimettere a posto le cose.
Quindi consiglio di dare un'occhiata alla documentazione prima di avventurarsi troppo oltre.
Comunque si riesce abbastanza agevolmente a scaricare gli script con il comando:
bzr co bzr://bzr.mozilla.org/bugzilla/qa/4.0
Una volta scaricato il tutto, nella cartella \config si covrebbero trovare 2 file:
- selenium_test.conf
- generate_test_data.pl

Prima si deve configurare il primo file, non sono sicuro di quali parametri debbano essere riempiti, di certo io non li ho riempiti tutti, limitandomi a quelli che mi parevano principali.

Poi si lancia il secondo e...

C:\Bazaar\4.0\config>generate_test_data.pl
reading the config file...
creating user accounts...


permanent_user@my.company is now set up as an administrator.
creating bugs...
creating classifications...
creating products...
creating groups...
Creating group Master...
adding users to groups...
restricting products to groups...
creating flag types...
creating custom fields...
Adding new table cf_qa_status...
Adding new table bug_cf_qa_status...
Adding foreign key: bug_cf_qa_status.value -> cf_qa_status.value...
Adding foreign key: bug_cf_qa_status.bug_id -> bugs.bug_id...
Adding new column 'cf_single_select' to the 'bugs' table...
Adding new table cf_single_select...
** Parameters have been modified by this script. Please re-run
** checksetup.pl to set file permissions on data/params correctly.


Creating private bug(s)...
creating attachments...
creating keywords...
installation and configuration complete!

 Alla fine il nostro DB è miracolosamente popolato con ben 2 bugs!

A questo punto la cosa è un po' meno complessa di come l'avevo affrontata ieri, non occorre ricompilare tutto Selenium Server.

Selenium Server

 Per avviare Selenium Server basta scaricare il jar Selenium Server (formerly the Selenium RC Server)
dal sito: http://seleniumhq.org/download/ (attualmente la versione 2.21.0).
Io l'ho ffrettolosamnete messa in C:\Users\Duccio\Documents\Software\Selenium.
A questo punto per avviare il server basta digitare:
java -jar C:\Users\Duccio\Documents\Software\Selenium\selenium-server-standalone-2.21.0.jar
Sembra essere andato tutto bene:

C:\Perl64>java -jar C:\Users\Duccio\Documents\Software\Selenium\selenium-server-
standalone-2.21.0.jar
mag 22, 2012 12:23:56 AM org.openqa.grid.selenium.GridLauncher main
Informazioni: Launching a standalone server
00:23:57.640 INFO - Java: Oracle Corporation 21.1-b02
00:23:57.660 INFO - OS: Windows 7 6.1 amd64
00:23:57.677 INFO - v2.21.0, with Core v2.21.0. Built from revision 16552
00:23:58.022 INFO - RemoteWebDriver instances should connect to: http://127.0.0.
1:4444/wd/hub
00:23:58.028 INFO - Version Jetty/5.1.x
00:23:58.030 INFO - Started HttpContext[/selenium-server/driver,/selenium-server
/driver]
00:23:58.031 INFO - Started HttpContext[/selenium-server,/selenium-server]
00:23:58.031 INFO - Started HttpContext[/,/]
00:23:58.177 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@2d510b
03
00:23:58.182 INFO - Started HttpContext[/wd,/wd]
00:23:58.191 INFO - Started SocketListener on 0.0.0.0:4444
00:23:58.193 INFO - Started org.openqa.jetty.jetty.Server@1a60232c

 Test::WWW::Selenium

A questo punto siamo pronti per lanciare gli script? Non ancora!
Se si prova a lanciare gli script con prove -v --timer *.tsi ottiene una bella serie di segnalazioni tipo questa:

QA/Util.pm line 9.
BEGIN failed--compilation aborted at lib/QA/Util.pm line 9.
Compilation failed in require at webservice_bug_fields.t line 7.
BEGIN failed--compilation aborted at webservice_bug_fields.t line 7.
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
[00:27:31] webservice_bug_get_bugs.t ................. Can't locate Test/WWW/Sel
enium.pm in @INC (@INC contains: lib C:/Perl64/site/lib C:/Perl64/lib .) at lib/
QA/Util.pm line 9.
BEGIN failed--compilation aborted at lib/QA/Util.pm line 9.
Compilation failed in require at webservice_bug_get_bugs.t line 10.
BEGIN failed--compilation aborted at webservice_bug_get_bugs.t line 10.
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run
[00:27:31] webservice_bug_history.t .................. Can't locate Test/WWW/Sel
enium.pm in @INC (@INC contains: lib C:/Perl64/site/lib C:/Perl64/lib .) at lib/
QA/Util.pm line 9.

La spiegazione si trova subito sotto nella guida, dove si legge:

 Note that the Test::WWW::Selenium Perl module must be installed in order for the scripts to execute. It is the interface between Perl and Selenium!


Questa frasettina apparentemente innocua nasconde diverse insidie.
Il modulo in questione si scarica da qui:

http://search.cpan.org/~lukec/Test-WWW-Selenium/lib/Test/WWW/Selenium.pm


ma non è un semplice file da scaricare ed installare, sulla pagina a destra, c'è infatti il link per il download un bel .tar.gz da compilarsi a mano.

Anche stavolta l'ho scompattato molto pigramente in:          C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33


A questo bene sarebbe bene cercare di capire bene come ci si comporta con questi moduli.
Qui di seguito riporto un paio di guide che ho trovato e ricopiato in questo blog:
Riassumento si scopre che per compilare il modulo in Windows7 occorre prima scaricarsi 2 eseguibili fondamentali:
Se provo a compilare il modulo senza GCC ho questo messaggio di errore:
It looks like you don't have a C compiler on your PATH, so you will not be
able to compile C or XS extension modules.  You can install GCC from the
MinGW package using the Perl Package Manager by running:
    ppm install MinGW


Se provo ad usare ppm install MinGW ho l'errore:

C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33>ppm install M
inGW
Downloading ActiveState Package Repository packlist...done
Updating ActiveState Package Repository database...done
ppm install failed: Can't find any package that provides MinGW

Messaggi analoghi si hanno per nmake e dmake.


A questo punto si può procedere a compilare il modulo così:

C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33> perl Makefile.PL
C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33> dmake
C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33> dmake test
C:\Users\Duccio\Documents\Software\Selenium\Test-WWW-Selenium-1.33> dmake install


Esecuzione

Adesso si può procedere con l'esecuzione degli script di test.
ci si posiziona nella cartella dove ho scaricato gli script per Bugzilla, stavolta invece che in \conf si accede alla cartella \t (nel mio caso C:\Bazaar\4.0\t)
poi si digita:
prove -v --timer *.t

In questo modo parte l'esecuzione degli script.
L'avanzamenteo si vede dal propmpt dos che mostra l'avanzamento degli scipt in \t
l'altra finestra dos è quella del server selenium
l'istanza firefox inferiore mostra l'esecuzione dello script
mentre quella superiore è Selenium Remote Control.



Non ho capito come ottenere un report delle esecuzioni fatte, infatti i risultati posso vederli solo dalla finestra DOS.
Inoltre no capisco da dove posso bloccare e riprendere l'esecuzione, dato che da Selenium Remote Control non posso fare assolutamente nulla.
L'unico modo che ho trovato per fermare l'esecuzione è chiudere ilprompt dos.

venerdì 18 maggio 2012

Installare Bugzilla su Winwos7 - Parte 2


Fare rifetimento alla guida:
https://wiki.mozilla.org/Bugzilla:Win32Install#Installing_Bugzilla_on_Microsoft_Windows_with_Apache


Una volta installato IIS su W7, come descritto nel post precedente, ricordarsi di fare il download di ActivePerl.
A questo proposito, si ricorda che Perl 5.12 doesn't require any additional repository. It already contains everything that Bugzilla needs. Attualmente dal sito si scarica la 5.14.2 quindi non dovrebbe essere più necessario scaricare moduli aggintivi, ma non è così.
ATTENZIONE, nel mio caso sebbene sia astato aggiunto al path la cartella di installazione di perl.exe, se lancio da dos "perl checksetup.pl" perl non viene riconosciuto come comando interno.
Per eseguirlo basta specificare tutto il path:


C:\bugzilla\bugzilla-4.2.1>C:\Perl64\bin\perl checksetup.pl

Una volta lanciato lo script, sembra che alcuni moduli risultino necessari e debbano essere installati. Il diagnostico dice di eseguire i seguenti comandi:

    ppm install TimeDate
    ppm install DateTime
    ppm install DateTime-TimeZone
    ppm install Template-Toolkit
    ppm install Email-Send
    ppm install Email-MIME
    ppm install Math-Random-ISAAC
Anche in questo caso, per ovviare al problema del path non riconosciuto, ho lanciato i comandi precedenti direttamente dalla cartella di installazione del perl C:\Perl64\bin.


Rilanciando checksetup.pl mi si suggerisce di modificare alcuni parametri come descritto dal manuale.
Rilanciando ancora hecksetup.pl ottengo il messaggio che mi dice che è necessario installare:
  ppm install DBD-mysql

Rilanciando ancora ... si creano le tabelle del DB...
a questo punto però viene chiesto di definire il server SMTP necessario a bugzilla, ma winws7 non ha un server smtp di default.
Cercando un po' ho trovato questo:
http://www.softstack.com/freesmtp.html
si installa in un attimo e non c'è da configurare niente.
hWebMail http://www.hmailserver.com/index.php?page=functionality
A questo punto proseguo l'installazione di bugzilla indicando hostname: localhost

A questo punto fare ATTENZIONE!
la guida per la predisposizione di CGI su II7 rimandala  all'articolo:
http://lpsolit.wordpress.com/2010/10/22/make-bugzilla-work-with-iis7-easy/ in cui si indica come agire a mano sulla configurazione.
Per vedere nella console di IIS le icone necessarie per "gestione moduli" ed "eccezioni cgi" occorre attivarle come abbiamo fatto per la console IIS, altrimenti non si vedono di default.
Nel mio caso però, le impostazioni specificate nella guida su wordpress non funzionano, funzionano quelle indicate su wiki.mozilla, ossia si deve inserire:

C:\Perl\bin\perl.exe -T "%s" %s

e non
C:\Perl64\bin\perl.exe -x"C:\bugzilla\bugzilla-4.2.1"-T %s

Dopo che avevo fatto diverse prove ho trovato questo articolo http://community.activestate.com/forum/activeperl-iis-75 in cui dice che questa configurazione manuale può essere evitata lanciando semplicemente  lo script "ap-iis-config add all" da command promp da  C:\Perl64 con privelegi di amministratore.
L'hoprovato, effettivamente ottengo una serie di segnalazioni, che sembrano verificarsi anche ad altri utenti, ma che in realtà sembra non abbiano conseguenze negative.
C:\Perl64>ap-iis-config add all
Use of uninitialized value $path in -f at C:\Perl64\bin/ap-iis-config line 357.
Use of uninitialized value $path in -f at C:\Perl64\bin/ap-iis-config line 357.
Use of uninitialized value $path in -f at C:\Perl64\bin/ap-iis-config line 357.
Use of uninitialized value $path in -f at C:\Perl64\bin/ap-iis-config line 357.

Specificare come root di iis il folder di installazione di bugzilla, nel mio caso C:\bugzilla\bugzilla-4.2.1

si 
Le indicazioni trovate nella descrizione successiva non funzionano nel mio caso.
Le impostazioni precedenti sono nella guida originale.
 lancio testserver.pl e FUNZIONA! 

allora provo a collegarmi a http://localhost/index.cgi


Ma lancio testserver.pl e NON FUNZIONA! "webserver is not executing cgi file"
ORA VADO A DORMIRE.
A questo punto ci sono due ipotesi: 
- Non si può usare activeper a 64 bit con ii7 come scritto qui: "ActivePerl is available as an ISAPI for 32 bits only. This does not prevent it from running on a 64 bit install of Windows. It just means that any application pool that contains Perl content must be configured to run as 32 bit."http://blogs.iis.net/wadeh/archive/2009/04/13/running-perl-on-iis-7.aspx ma il post è vecchio e non so quanto sia ancora affidabile


A questo punto si può riprendere l'installazione accedendo come amministratore e impostando i parametri richiesti:

Parameters

You should now be able to log into to Bugzilla using the account checksetup.pl just created. Point your web browser to http://localhost/, choose Log in to an existing account, and login.
In the page footer, choose Parameters.
Put in your email address as the maintainer.
maintainer:
byron@example.com
Put in the URL to Bugzilla in the urlbase field. This URL will be used in emails, so don't use localhost.
urlbase:
http://bugzilla.example.com/
Download and install WebDot from http://www.graphviz.org/Download_windows.php. Put the complete path to dot.exe in webdotbase.
webdotbase:
C:/Program Files/ATT/Graphviz/bin/dot.exe

quest'ultimo parametro si trova in "Dependency Graphs"

Make Bugzilla work with IIS7… easy!

It’s usually easier to make Bugzilla work with Apache, but IIS7 made things a lot easier than in previous versions, and it’s now pretty trivial to make it work with IIS too. The screenshots below are in french, but I guess you can understand what needs to be done.
IIS7 main page
Only two actions are needed, as shown above. Two new panels will be displayed:


That’s it! Bugzilla should work fine now. :)

Installare Bugzilla su Winwos7 - Parte 1

Fare rifetimento alla guida:
https://wiki.mozilla.org/Bugzilla:Win32Install#Installing_Bugzilla_on_Microsoft_Windows_with_Apache

Attenzione, di default su W7 IIS non è installato, per installarlo fare riferimento a:
http://digitizor.com/2009/02/20/how-to-install-microsoft-iis-server-on-windows-7/
dove si trova scritto:


. Place the Windows 7 Ultimate or Windows 7 Proffessional DVD into your DVD-Rom Drive.
2. Goto Start > Control Panel > Programs
3. From the dialog box that opens, click on Turn Windows features on or off. You can check this detailed guide on how to add or remove Windows features in Windows 7.
4. This brings another dialog box that contains a list of many Windows related services
5. Check the box for 'Internet Information Services (IIS)' leaving all the default installation settings intact. If you would like to install additional services, then expand each option and select them.
6. Once IIS is installed on your machine you can view your home page in a web browser by typing 'http://localhost' (you can substitute 'localhost' for the name of your computer) into the address bar of your web browser. If you have not placed your web site into the default directory you should now be looking at the IIS documentation.
7. Service and Configuration management for your IIS web server: Read our article onhow to manage settings for an IIS web server in Windows 7.
8. You might like to install IIS Tuner in order to configure your IIS server installation for optimum performance.

Per il pannello di amministrazione:

1. Open the Control Panel on your system. And click on Administrative Tools. In case you are unable to locate Adminstrative Tools in the control panel, you may need to switch to 'View all control panel items' from the "View by" menu at the top right in your control panel window.
ftp iis windows7 settings - locate administrative tools ftp iis windows7 settings - in case administrative tools are not visible

2. In the Administrative Tools windows, locate "Internet Information Services Manager" and click on it. You can now see a new window with lot of settings / options in it categorised separately under FTP and IIS.
ftp iis server settings view ftp-iis-windows7-settings-4

3. The icons under FTP help you to manage the settings of your FTP server like Authorization of access, firewall rules for your FTP, managing access logs and more. The section for IIS settings / options help you tinker with IIS web server options such as managing your default index pages and custom error documents. You can also manage output caching in order to reduce the load on your server. All this and you have many more options to look at and tinker with.

giovedì 19 aprile 2012

Bugzilla

http://www.bugzilla.org/download/

Bugzilla 4.2.1 (2.9M)

Installation

See the Bugzilla Guide's "Installation" and "Configuration" sections for information on how to install Bugzilla and its prerequisites.
Windows users: See the Bugzilla Installation Guide for Windows for installation instructions.

DB schema di Bugzilla

http://www.bugzilla.org/docs/2.16/html/dbschema.html

lunedì 2 aprile 2012

Bugzilla

Installazione:
http://www.bugzilla.org/download/
Installazione Winwos:
https://wiki.mozilla.org/Bugzilla:Win32Install
 Bugzilla:Win32InstallPackages:
https://wiki.mozilla.org/Bugzilla:Win32InstallPackages