Size: a a a

testing_in_python

2021 October 08

P

Pavel in testing_in_python
Running on Jenkins in /var/lib/jenkins/workspace/test@2
[Pipeline] {
[Pipeline] unstash
[Pipeline] sh
+ ls -lsa
total 4
0 drwxr-xr-x 2 jenkins jenkins  26 Oct  7 19:35 .
0 drwxr-xr-x 6 jenkins jenkins  66 Oct  7 18:39 ..
4 -rw-r--r-- 1 jenkins jenkins 348 Oct  8 04:08 junitxml.xml
[Pipeline] junit
Recording test results
[Pipeline] testRail
Test Cases:
 Test_Jenkins: test_passes
 Test_Jenkins: test_fails
 Test_Jenkins: Testcase 3
Munging test result files.
Scanning /tmp/jenkins579263616450388511
processing jenkins579263616450388511
Uploading results to TestRail.
Error pushing results to TestRail
Posting to index.php?/api/v2/add_results_for_cases/107656 returned an error! Response from TestRail is:
{"error":"Field :results cannot be empty (one result is required)"}
[Pipeline] }
[Pipeline] // node
Error when executing always post condition:
java.lang.NullPointerException
 at org.jenkinsci.plugins.testrail.TestRailNotifier.perform(TestRailNotifier.java:166)
 at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
 at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:100)
 at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:70)
 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)

[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.lang.NullPointerException
 at org.jenkinsci.plugins.testrail.TestRailNotifier.perform(TestRailNotifier.java:166)
 at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
 at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:100)
 at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:70)
 at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE
источник

OC

Oleg Chaplashkin in testing_in_python
Странное поведение, раньше конечно-же не делал сильно замеры, но вот сейчас увидел в графане:

web-server (fastapi + uvloop) + async telegram bot (тоже в uvloop) работают, логики практически нет, 4 эндпоинта, а показывает  - 450 метров оперативки сжирает.

Беда какая-то, ибо еще не начал никакого процессинга тестов/добавление логики и прочее :(

Как говорится, это я тупой и неправильно использую что-то? Или просто прожорлив?
источник
2021 October 09

П

Павел in testing_in_python
Всем привет
Такой вопрос:
Есть приложение, в нем 11 ролей пользователей
Сделал функцию авторизации, которая принимает на вход лог/пароль

Она вызывается в каждом тесте
Где лучше её расположить
1. В файле baseapp
2. В файле страницы Login_page
?

Если есть где посмотреть структуру проекта, можете скинуть?
источник

СС

Сказочный Сникерс... in testing_in_python
Где тебе ее удобно там и располагай) описание крайне скудное, как минимум не понятно что такое baseapp (что то из баранцева?). Имхо 2 вариант
источник

П

Павел in testing_in_python
Baseapp это файл, где хранятся функции типа:
- нажми кнопку
- введи значение в поле
😊
источник

СС

Сказочный Сникерс... in testing_in_python
Базовый класс для пейджей?
источник

П

Павел in testing_in_python
Да
источник

СС

Сказочный Сникерс... in testing_in_python
Ну и какое к нему отношение имеет метод логина?
источник

СС

Сказочный Сникерс... in testing_in_python
Который возможен только на странице логина
источник

А

Андрей in testing_in_python
Говоря расположить в файле, я понимаю речь идет об объявлении фикстуры в этом файле?
источник

П

Павел in testing_in_python
Нет
источник

А

Андрей in testing_in_python
А зачем явно принимать логин, пасс, если ты точно знаешь роли и пользователей? Может она должна принимать роль тогда? Или я совсем не понял вопроса в этой части
источник

А

Андрей in testing_in_python
Звучит это как параметр запуска теста для разных ролей. Я бы оформлял как фикстуру, или может делал параметризацию по роли
источник
2021 October 10

EB

Evgenii B in testing_in_python
Как фикстуру ты ее можешь оформить потом, вызывая метод уже определенный на пейдже, если это ui взаимодействие в самой фикстуре.

Ну это к вопросу о том что делать жирным: логику пейджей на UI, или conftest.

Мое имхо, это что конфтест по возможности не должен включать в себя логику тестирования, а иметь логику скоупов/ контекста тестов. Поэтому я бы из фикстуры вызывал что-то определённое в api враппере / db враппере / ui враппере (он же page object как частный случай)
источник
2021 October 12

V

Val in testing_in_python
Ребят вопрос: нужно написать функции которые просто выполняют обычные команды “Ls”,  “cd $HOME”, “pwd”. Затык в том что если использовать subprocess.Popen то каждая функция не помнит что сделал предыдущая. Мне надо надо написать функции которые выполняют команды и чтобы это в одной сессии выполнялось.  Googleние по запросу: Popen in sequence, popen chain нечего не дали). По сути тест который будет иметь 3-4 такие функции)
источник

А

Алексей in testing_in_python
Для линукса просто выполняйте скрипт с пайпами, вызывая его один раз
источник

EB

Evgenii B in testing_in_python
Через точку с запятой строка отработает нормально с shell=True
источник

T

Tishka17 in testing_in_python
запустите баш и передавайте ему команды, ну
источник

А

Алексей in testing_in_python
я думаю ему пайп нужен, типа cat vasia.txt | grep "fff"
источник

T

Tishka17 in testing_in_python
я думаю ему надо запустить шелл и передать на его stdin все команды
источник