ArvindSelvaraj's picture
Update app.py
1396f9a verified
raw
history blame
2.3 kB
import streamlit as st
import backend # Importing backend functions
import os
# 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:
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("No test cases available to export.")
# Footer with a clean divider
st.markdown("---")
st.write("Built by the QA Automation Team")