Robot Framework, wxPython & OSX
NOTE: For the english version. See below.
Olen pinttynyt Mäkkimies. Myynyt sieluni jo vuosia sitten, voisi joku sanoa.
Halusin Robot Frameworkin ja asensin ohjeen mukaan. Mutta RIDE toimii helposti vain wxPythonin versiolla 2.8.12.1. Turhauduin, sillä virallinen wxPythonin paketti ei OSX:llä edes asennu. Sanoo, että paketti on vahingoittunut. ARGH!
Kävi ilmi, että OSX:n pakettimanageri on muuttunut eikä tue enää vanhoja filejä. Onneksi pgk -filen voi paketoida uudestaan. Oheisella videolla pääsin purkamaan tuntojani ja lupasin laittaa blogiin ohjeen homman hoitamiseksi komentoriviltä, joten here we go.
In case you’d prefer english: Robot Framework paired up with RIDE is easy to install on OSX by following the original installation instructions. There is just one problem that has not been documented. wxPython 2.8.12.1 is a component that is a must to run RIDE. New versions won’t do.
Latest OSX does not support old .pkg packages to install the necessary wxPython and the file needs to be repackaged to succeed. You can either download a file I have re-packaged or do it yourself by following these instructions.
This is how you repack a .pkg file on command line with OSX:
#Find your way into a directory of your choosing and follow these steps.
$ mkdir repack_wxpython
$ cd repack_wxpython
#Now you place the original .pkg -file of your choosing into the repack_wxpython directory on your computer.
$ mkdir pkg_root
$ cd pkg_root
$ pax -f ../wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/wxPython2.8-osx-unicode-universal-py2.7.pax.gz -z -r
$ cd ..
$ mkdir scripts
$ cp wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/preflight scripts/preinstall
$ cp wxPython2.8-osx-unicode-universal-py2.7.pkg/Contents/Resources/postflight scripts/postinstall
$ rm -r wxPython2.8-osx-unicode-universal-py2.7.pkg
$ pkgbuild --root ./pkg_root --scripts ./scripts --identifier com.wxwidgets.wxpython wxPython2.8-osx-unicode-universal-py2.7.pkg
#And this is what you should see as an output from the terminal.
pkgbuild: Inferring bundle components from contents of ./pkg_root
pkgbuild: Adding top-level preinstall script
pkgbuild: Adding top-level postinstall script
pkgbuild: Wrote package to wxPython2.8-osx-unicode-universal-py2.7.pkg
Hei,
Sain asennettua tekemäsi wxPythonin, mutta ride.py antaa alla olevan virheen:
ride.py
wxPython not found.
You need to install wxPython 2.8.12.1 with unicode support to run RIDE.
wxPython 2.8.12.1 can be downloaded from http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
Mac OS 10.12.5n on asennettu alla olevat:
decorator (4.0.11)
pip (9.0.1)
robotframework (3.0.2)
robotframework-ride (1.5.2.1)
robotframework-selenium2library (1.8.0)
selenium (3.4.3)
setuptools (28.8.0)
wxPython (2.8.12.1)
wxPython-common (2.8.12.1)
Osaisitko sanoa, miten saisi korjattua?
Kiitos. Olen tuskaillut saman ongelman kanssa. Kokeilenpa ohjeellasi.
Terve Juha. Miehän olen nyt auttamatta kuukauden verran myöhässä tämän kanssa 😀 Joko sait ongelmasi korjattua?
Olen huomannut, että pakettien asennusjärjestyksellä on väliä. RIDE tulisi asentaa vasta viimeisenä Pythonin, Robot Frameworkin ja wxPython jälkeen.
Lisäksi tulee mieleen, että saisiko ongelmasi ratkaistua lisäämällä PATHiin tai PYTHONPATHIIN hakemisto, jossa xwPython sun koneessa asuu ja sitten launchaamalla ride?
Kiitos Antti, eipä mitään :). Olen tehnyt tässä muuta :).
Kokeilen tuota. Jotenkin Pythoni taitaa olla tässä koneessa “kadoksissa”. Luulen, että ohjeesi auttaa.
Kiitos!
Thank you. You file works for me.
Yksi syy tuon virheilmoituksen ilmaantumiseen on että on sattumalta asentanut esimerkiksi Pythonista 64-bit version ja sitten koettaa saada sen päällä toimimaan wxPython 32-bit version. Asentaa vaan reilusti kaikista 32-bit versiot ja homma kyllä yleensä (asennusjärjestys huomioiden) pelaa hyvin.
Aivan loistava tip Arsi! Kiitos muistutuksesta. Nostan käden ylös virheen merkiksi, nimittäin sillä hetkellä, kun ongelmaa ratkoin, niin ei käynyt tämä ajatus lainkaan mielessä 😀
Mun neuvo on tässä tilanteessa hylätä Ride ja käyttää modernimpaa editoria. Oma suosikkini on Visual Studio Code ja sen Robot Framework Intellisense lisäosa.
Tämä on ehkä kärkäs mielipide, mutta mun mielestä Riden käyttäminen vertautuu tilanteeseen, jossa on vuonna 2020 on ostamassa autoa ja päätyy 1920-luvun teknologiaa olevaan häkäpönttöautoon. Sitten vain pilkkeitä reilusti mukaan ja pönttöä täyttämään, kun polttomoottriautolla (eli vaikkapa VSCode) autoilu olisi paljon helpompaa. Ja jos VSCodea jaksaa virittää hitusen, se vertautuu ladattavaan hybridiin. Lisäksi modernia editoria käyttämällä voi olla varma, että pysyy kehityksen mukana kun itseohjautuvat autot tulevat laajemmin käyttöön.
Täällä on oheistettu VSCoden asennus: https://ohjelmistotestaus.fi/2019/12/18/robot-framework-asennus/ (tai ohjeeseen kuuluvalla videolla kohta: https://youtu.be/a6re0UoCJkY?t=685 )
Toinen hyvä heuristiikka on tietty valita editori, jota omassa projektissa muutenkin käytetään, mutta jos vaikka harjoittelee Robotin käyttöä, niin VSCode on loistava valinta. Robotin dokumentaatiosta löytyy lista olemassa olevista editorien lisäosista: https://robotframework.org/#tools (tossa tabi editors).