airgun.views.task¶
Module Contents¶
Classes¶
Similar to EditableEntry and specific for the same page types, but cannot |
|
Similar to EditableEntry and specific for the same page types, but cannot |
|
Base view for Satellite pages |
|
Base view for Satellite pages |
- class airgun.views.task.TaskReadOnlyEntry(parent, locator=None, name=None, logger=None)¶
Similar to EditableEntry and specific for the same page types, but cannot be modified.
Example html representation:
<dl> <dt> <dd> <form> ... <span class="ng-scope">No</span>
Locator example:
//dt[contains(., 'test')]/following-sibling::dd //dt[contains(., 'test')]/following-sibling::dd/span
- BASE_LOCATOR = //span[contains(., '{}') and contains(@class,...¶
- class airgun.views.task.TaskReadOnlyEntryError(parent, locator=None, name=None, logger=None)¶
Similar to EditableEntry and specific for the same page types, but cannot be modified.
Example html representation:
<dl> <dt> <dd> <form> ... <span class="ng-scope">No</span>
Locator example:
//dt[contains(., 'test')]/following-sibling::dd //dt[contains(., 'test')]/following-sibling::dd/span
- BASE_LOCATOR = //span[contains(., '{}')]//parent::div/following-sibling::pre¶
- class airgun.views.task.TasksView(parent, logger=None, **kwargs)¶
Base view for Satellite pages
- class RunningChart(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
Vieworwidgetastic.browser.Browseradditional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_contextto pass in required variables that will allow you to detect this.
- ROOT = .//div[@id='running-tasks-card']¶
- name¶
- total¶
- class PausedChart(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
Vieworwidgetastic.browser.Browseradditional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_contextto pass in required variables that will allow you to detect this.
- ROOT = .//div[@id='paused-tasks-card']¶
- name¶
- total¶
- class StoppedChart(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
Vieworwidgetastic.browser.Browseradditional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_contextto pass in required variables that will allow you to detect this.
- ROOT = .//div[@id='stopped-tasks-card']¶
- name¶
- table¶
- class ScheduledChart(parent, logger=None, **kwargs)¶
View is a kind of abstract widget that can hold another widgets. Remembers the order, so therefore it can function like a form with defined filling order.
It looks like this:
class Login(View): user = SomeInputWidget('user') password = SomeInputWidget('pass') login = SomeButtonWidget('Log In') def a_method(self): do_something()
The view is usually instantiated with an instance of
widgetastic.browser.Browser, which will then enable resolving of all of the widgets defined.- Parameters
parent – A parent
Vieworwidgetastic.browser.Browseradditional_context – If the view needs some context, for example - you want to check that you are on the page of user XYZ but you can also be on the page for user FOO, then you shall use the
additional_contextto pass in required variables that will allow you to detect this.
- ROOT = .//div[@id='scheduled-tasks-card']¶
- name¶
- total¶
- title¶
- focus¶
- table¶
- pagination¶
- class airgun.views.task.TaskDetailsView(parent, logger=None, **kwargs)¶
Base view for Satellite pages
- class task(parent, logger=None, **kwargs)¶
Regular primary level
Tab.Usage:
@View.nested class mytab(SatTab): TAB_NAME = 'My Tab' @View.nested class subscriptions(SatTab): # no need to specify 'TAB_NAME', it will be set to 'Subscriptions' # automatically pass
Note that
TAB_NAMEis optional and if it’s absent - capitalized class name is used instead, which is useful for simple tab names like ‘Subscriptions’- name¶
- result¶
- triggered_by¶
- execution_type¶
- start_at¶
- started_at¶
- ended_at¶
- start_before¶
- state¶
- progressbar¶
- output¶
- errors¶
- breadcrumb¶
- property is_displayed¶
Overrides the
Widget.is_displayed(). The difference is that if the view does not have the root locator, it assumes it is displayed.- Returns
- wait_for_result(timeout=60, delay=1)¶
Wait for invocation job to finish