Zombie.js е бързо обезглавеното браузър с цялата подкрепа на JavaScript Node.js предвижда. collective.zombiedoctesting е пакет, който осигурява функция, декоратор, който позволява Python doctest стил JavaScript тестване функционално използване на Python-като CoffeeScript.
<Силен> Disclaimer: Това не може да замени вашата Селен-стак, защото Zombie.js е просто друг браузър с неговите собствени странности.
<Силни> Изисквания
- Node.js трябва да бъде инсталиран
- Националните ръководители трябва да бъде инсталиран
- Coffeescript, zombiejs и асинхронен пакети трябва да се монтират с помощта на националните ръководители на проекта
- Кафе-изпълнител трябва да се намери на пътя
<Силен> Пример за използване (с plone.app.testing)
Започнете с определяне на функционално тестване арматура с ZServer (която ще стартирате Plone на Localhost: 55,001 по подразбиране):
от plone.app.testing внос PLONE_FIXTURE
от plone.app.testing внос FunctionalTesting
от plone.testing z2 внос
FUNCTIONAL_TESTING = FunctionalTesting (
& Nbsp; бази = (PLONE_FIXTURE, z2.ZSERVER_FIXTURE), име = "PloneFixture: ZServer")
След това напишете вашите функционални JavaScript тестове като doctest за вашия testmethod използване CoffeeScript вместо Python. Определяне на контекста (URL) на теста си с помощта на декоратор (browser) от collective.zombiedoctesting, както е показано по-долу. Можете да използвате цялата JavaScript, която е предоставена от вашия контекст и глобалната браузъра, който представлява браузър Zombie.js ":
внос unittest
от plone.app.testing внос TEST_USER_NAME
от plone.app.testing внос TEST_USER_PASSWORD
от collective.zombiedoctesting внос браузър
константи = {
& Nbsp; "TEST_USER_NAME": TEST_USER_NAME,
& Nbsp; "TEST_USER_PASSWORD": TEST_USER_PASSWORD
& Nbsp;}
клас LoginOverlayTest (unittest.TestCase):
& Nbsp; слой = FUNCTIONAL_TESTING
& Nbsp;browser ("HTTP: // Localhost: 55001 / Plone /", картографиране = константи)
& Nbsp; Def test_login (самостоятелно):
& Nbsp; "" "
& Nbsp; Да започнем от начало до линка за регистрация.
& Nbsp;. >>> Console.log направи $ ("# personaltools-вход") текст
& Nbsp; Вход
& Nbsp; Кликвайки тази връзка не бива да ни пренасочи навсякъде, но ни даде
& Nbsp; AJAX подложка с формата за вход.
& Nbsp;. >>> Направя ($ "# personaltools-вход") кликване
& Nbsp; >>> console.log window.location.href
& Nbsp;. ... Console.log направя ($ ".pb-Аякс # вход-форма") текст
& Nbsp; HTTP: // Localhost: 55001 / Plone /
& Nbsp; Login Name
& Nbsp; Password
& Nbsp; Да попълните тази форма ...
& Nbsp; >>> global.form = ($ ".pb-Аякс # вход-форма")
& Nbsp;. ... Form.find ("#__ ac_name") Вал "% (TEST_USER_NAME) S"
& Nbsp;. ... Form.find ("#__ ac_password") Вал "% (TEST_USER_PASSWORD) S"
& Nbsp; ... console.log направя form.find ("#__ ac_name") Вал.
& Nbsp; ... console.log направя form.find ("#__ ac_password") Вал.
& Nbsp;% (TEST_USER_NAME) ите
& Nbsp;% (TEST_USER_PASSWORD) ите
& Nbsp; ... и щракнете върху бутона, за да влезете.
& Nbsp;. >>> Направя form.find ("вход [тип =" представи "]") кликване
& Nbsp; >>> console.log window.location.href
& Nbsp; ... console.log browser.text ".documentFirstHeading"
& Nbsp; HTTP: // Localhost: 55001 / Plone / login_form
& Nbsp; Вие в момента сте влезли в
& Nbsp; "" "
Какво ново в тази версия:.
- First (надявам се) не са разбити освобождаване
<силни> Изисквания :
- Python
Коментари не е намерена