File size: 2,477 Bytes
df11144 6035560 1396f9a df11144 1396f9a df11144 c236ccc df11144 c890e84 df11144 c890e84 df11144 c890e84 df11144 6035560 df11144 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import streamlit as st
import backend # Importing backend functions
# Title
st.title("Test Case Generator - QA User Story")
# Input field for the user story
user_story = st.text_area("Enter the QA User Story", "")
# Button to generate test cases
if st.button("Generate Test Cases"):
if user_story:
# Show a spinner while the test cases are being generated
with st.spinner("Generating test cases..."):
test_cases = backend.generate_testcases(user_story)
if test_cases and not test_cases[0].get('Test Case') == "No test cases generated or output was empty.":
st.subheader("Generated Test Cases")
# Display the test cases in a readable format on the page
for idx, case in enumerate(test_cases, start=1):
st.write(f"**Test Case {idx}:**")
st.write(f"**Preconditions:** {case.get('Preconditions', 'N/A')}")
st.write(f"**Steps:** {case.get('Steps', 'N/A')}")
st.write(f"**Expected Result:** {case.get('Expected Result', 'N/A')}")
st.write("---") # Divider between test cases
# Store test cases in session state for further use (e.g., export)
st.session_state.test_cases = test_cases
else:
st.error("No test cases generated. Please try again with a different user story.")
else:
st.error("Please enter a user story to generate test cases.")
# Sidebar for exporting test cases
st.sidebar.title("Export Test Cases")
format = st.sidebar.selectbox("Select Format", ["excel"], key="export_format") # Only "excel" as an option
if st.sidebar.button("Export Test Cases", key="export_button"):
if 'test_cases' in st.session_state:
test_cases = st.session_state.test_cases
export_content = backend.export_test_cases(test_cases)
if export_content:
st.sidebar.download_button(
label="Download Test Cases as EXCEL",
data=export_content,
file_name="test_cases.xlsx",
mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
key="download_button"
)
else:
st.sidebar.error("Error exporting test cases. Please try again.")
else:
st.sidebar.error("No test cases available to export.")
# Footer with a clean divider
st.markdown("---")
st.write("Built by the QA Automation Team")
|