Git Product home page Git Product logo

robottelo's Introduction

Robottelo

image

image

image

image

image

update_robottelo_image build status on GitHub Actions

Robottelo is a test suite which exercises The Foreman. All tests are automated, suited for use in a continuous integration environment, and data driven. There are three types of tests:

The full documentation is available on ReadTheDocs. It can also be generated locally:

pip install -r requirements.txt
pip install -r requirements-optional.txt
make docs

robottelo's People

Contributors

abalakh avatar adamsaleh avatar colehiggins2 avatar dependabot[bot] avatar elyezer avatar gauravtalreja1 avatar griffin-sullivan avatar ichimonji10 avatar jacobcallahan avatar jameerpathan111 avatar jyejare avatar kbidarkar avatar latran avatar ldjebran avatar lhellebr avatar mshriver avatar omaciel avatar omkarkhatavkar avatar oshtaier avatar peterdragun avatar pondrejk avatar pyup-bot avatar rplevka avatar san7ket avatar sghai avatar sthirugn avatar swadeley avatar tkolhar avatar vijay8451 avatar vsedmik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

robottelo's Issues

Foreman "more" menu navigation

The more menu has non-unique id's for some elements, so navigating this menu requires a workaround until unique ids are added.

UI: Automate forgot password

This is going to check for the functionality in UI. Currently there is no facility to check the actual email. This will be done in future.

Implement javascript scrolling for org switcher

There are scroll bars in a few locations (org switcher, left pane in some views) that have to be scrolled via javascript. These are implemented in katello.auto and since they are primarily javascript, should be easy to port.

UI: OS CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Medium CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: RHEL Products CRUD methods

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

  • upload
  • create
  • update
  • delete
  • refresh

CLI: Host Group CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Architecture

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Host CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Users CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

upload
create
update
delete
refresh

UI: Sync methods CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

  • create sync plan
  • update sync plan
  • delete sync plan
  • sync

CLI: Host CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Medium CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Orgs CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Subnet CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Users CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

upload
create
update
delete
refresh

Allow the UI to run using different locales

We should be able to run the UI automation using different locales.

NOTE: Firefox allows you to create a profile dynamically which would allow us to create a localized profile. Need to test other browsers.

from selenium import webdriver

profile = webdriver.firefox.firefox_profile.FirefoxProfile()
profile.set_preference("intl.accept_languages", "fr")

browser = webdriver.Firefox(profile)

browser.get("http://google.com")

UI: Content View Definitions CRUD methods

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

  • create
  • update
  • delete
  • search
  • publish
  • refresh

Allow the CLI to run using different locales

We should be able to run the CLI tests using different locales other than English:

python robottelo_runner.py --host www.example.com --project katello --locale pt_BR --tests tests.cli.test_Login
python robottelo_runner.py --host www.example.com --project katello --locale fr --tests tests.cli.test_Login

UI: Environments CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Environments CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Users CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

upload
create
update
delete
refresh

Add support for handling dynamic manifest creation

Thanks to https://github.com/RedHatQE/python-stageportal we should be able to create, edit and delete real RHEL manifests for our content tests! Though we could create a new user for every test, perhaps we should re-use the same user but generate unique distributors for our tests. The teardown method should make sure to delete the distributor to make sure we don't overuse our pools.

All configuration parameters necessary for this feature (i.e. URL for stage CDN) should be kept and read from a properties file (wait until https://github.com/omaciel/robottelo/issues/59 is completed).

CLI: OS CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Custom Providers/Products CRUD methods

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

  • create
  • update
  • delete
  • search

os.environ through properties file

Providing support of framework arguments (host, sshkey, etc) through properties file.
Sequence of loading should be following:

if os.environ['CONFIG'] != nil; then
  load filename os.environ['CONFIG']
else
  load filename: robotello.properties
fi
overwrite any os.environ[<PROPERTY>] passed to the runner

UI: Automate forgot username

This is going to check for the functionality in UI. Currently there is no facility to check the actual email. This will be done in future.

UI: Host Group CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

CLI: Subnet CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

Integration with Bugzila

Decorators for tests to flag it as being blocked by an existing Bugzilla issue. The framework should:

  • Check the Bugzilla issue's current status
    • If CLOSED, VERIFIED, POST or MODIFIED then run the test
      • [BONUS] If test passes, add comment to Bugzilla issue or even mark it as VERIFIED
    • If NEW or ASSIGNED, then skip the test
  • Report status of test (runnable?) and any BZ blocking it
@bugzilla(1001234)
def test_delete_org(self)

At the end of the run:

2013-10-31 15:37:16 - robottelo - DEBUG - Test blocked by Bugzilla #1001234

UI: Architecture CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

Support for SauceLabs

The UI automation should accept SauceLabs as an option (instead of running on local or internal Selenium grid)

CLI: Domain CRUD

These are not tests but functions to perform the actions via the CLI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Domain CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

create
update
delete

UI: Orgs CRUD

These are not tests but functions to perform the actions via the UI. Let's make sure to add CRUD methods and stick to a standard nomenclature to the method names themselves:

upload
create
update
delete
refresh

Ajax wait functionality

We need to be able to wait for ajax calls to complete before selenium commands. This is implemented in katello.auto as a function that polls a javascript var. Since it uses a webdriver method to execute javascript it should be straightforward to port from clojure to python.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.