Why View Result Tree listener not showing individual requests under transaction controller - jmeter-5.0

I'm preparing a JMeter plan as simple as the steps below
Open Home Page
Click on "Shop" link
Click "Region"
this plan can be seen in picture "Project plan-A"
But when this plan is executed the View Result Tree does not show me individual requests under respective "Transaction Controllers" which are "Open Home Page, Open Shop Page, Open Region" etc I thought the tree would show me some thing like
1--> Open Home Page
1a. 138/home
2--> Open Shop Page
2a. 173 /Middle-East/UAE.....
2b. 187 /product/.....
but instead it is showing me some like

In your project tree choose the Transaction Controller and check Generate parent sample
After that you can see each nested request under transaction controller in your View Results Tree
In parent mode, the individual samples can still be seen in the Tree View Listener, but no longer appear as separate entries in other Listeners. Also, the sub-samples do not appear in CSV log files, but they can be saved to XML files.

Related

How to load Ajax driven data after user clicks browser Back Button

We have a website product that allows users to search rental inventory, view results and then click through to a details page.
On the results page, we also allow users the option to refine their search via bedrooms, bathrooms, price, etc. When the form changes, we do not reload the page, we use Ajax to run a new search query and load the new results into the container.
For example, when the user first did a search, they got back 100 properties. Then they refine their search for 3 bed, 5 bathrooms, view = oceanfront and they get back 10 properties. Once the user finds a property they like, they typically click through to the details page. But, let's say they change their mind and click the browser 'back button'.
When that happens, all of our search params that were loaded via Ajax are now gone and our property count is back to 100 instead of 10.
So what I have realized is any data loaded via Ajax is not being cached in the browser so the original search is loaded not the refined search.
After doing some research, I think using history.pushState() and history.popstate() might be the solution but I'm having trouble wrapping my head around how to implement it for our problem.
Is there a better solution? If not, will history.pushState() work?

Partial refresh of JSF page using ui:repeat and AJAX

I have a page say "Main Page" (Page 1) which looks like a Outlook calendar page having a large number of rows displayed using . Actually, the columns represent "Weeks" and the rows represent "Products". The functionality is that the user can choose a product week combination and create offers for the chosen week.Ideally, as we have a lot of rows (products), we should have ideally implemented pagination but we have not.
We use JSF2 (Mojarra faces that comes with JBoss EAP 6.0). Main Page uses a different bean and Details page uses a different bean and both are in session scope.
When the user creates an offer, instead of refreshing the entire page (i.e. Page1), we just refresh the impacted cells using AJAX. However, the On double clicking the slot(offer), we redirect to a different page (Page2) that displays offer details.
Page 1 - Main Page and Page 2 - Details page.
There are 2 cases from here :
Case 1: User goes from Main page to the details page, just views information on the details page and clicks the close button. In this case, it is enough for me to display Main Page as it was before I opened the details page. To achieve this, we used browser history.back(). However, we faced the below issues :
(a) history.back() works only in Firefox and does not work in Chrome/IE.
(b) Even if we do history.back(), the page loading is cleary visible and as our page is heavy, it takes a few seconds. I would like to avoid re-rendering of main page again (i.e. make it look like opening a popup from the main page and closing it)
Case 2: User goes from Main Page to Details page and makes certain updates which require us to reflect those updates in the main page.(For example: change color of the slot from red to green on the main page).
Currently, when Details page is closed, we call an API that provides us with refreshed data (so that we do not need to maintain the list of actions that the user had performed) and we reload the entire Main page (Page1). However, as the page takes a long time to load, we are asked to refresh only the affected slots/rows.
So, the problem here is that if we have to achieve the refresh of Main Page through AJAX, we need to maintain a list of activities that has been done on the details page and feed it through AJAX which appears to be a complicated activity. (We also want to avoid calling the API.)
Is there any workaround which helps us to refresh only the selected rows on the Main Page to minimise the page load time. Can ui:repeat be partially re-rendered ?
PLease advise.

ASP.NET MVC3 Maintain Navigation History

Context
My System has numerous related entities such as Tenant -> Client -> Campaign -> etc...
Each entity has an "index" view which enables Search, Paging and links to Edit/Details/Delete. In the "detail" view for each entity i have tabs displaying the entity details (read only) plus a additional tabs for any child entity where the user can search, Page and has links to Edit/Details/Delete. This allows the user to navigate "down" the tree (so to speak).
Problem
Going down the tree works a treat its coming back up that I cannot figure out.
eg, Goto tentant -> Clients tab. Search for client by name then click on the "details" link for that client. Then goto client -> Campaigns, search for a campaign then click on "edit" for the campaign. make my changes and submit the form. I could have accessed this "edit" view by either the "Campaign/Index" or "Client/Details -> Campaign tab". So how do I maintain this navigation history? The system I am working on can go 6 levels deep and I need something that will work all the way down and back up again. If I can maintain details about the state of each calling page eg. search criteria, page number, active tab etc. that would be ideal but given the complexity of this I would be happy enough just getting back to the correct page and tab.
Worst case scenario is "User" which can be access via 4 different calling pages.
Could you not store URL's in an (server-side) array and push them in as you traverse down the tree. as you come back up you could just 'pop' them out of the array one by one. If the user presses the back button, you can cross check at the point of an action being made or pass the current URL to the server on a timed JavaScript AJAX call maybe which helps keep the array up to date.

How to apply filter/specific criteria for browser UI component in Exact Synergy Enterprise?

I am creating a maintenance page where I want to select a task using browser UI component. What I want to do specifically is to filter and show only tasks that are not done yet. Can I implement this using browser UI component? Does Exact Synergy Enterprise offer other components for this functionality?
You should create your browser Repository Explorer and use it in browsefield UI component.
Go to System tab, process to Setup tab and under the Repository section click Explorer. Locate your Repository group, enter it, click Browsers tab next to Business components, Functional components, etc.
Click Add and provide Name, Caption, Caption suffix fields. Then write your SQL query in Query field. The structure is:
SELECT <column(s)> FROM <database table> WHERE <column(s)> IS NOT NULL ORDER BY <column>.
Leave the Column info field empty for now. Fill in the Result columns field with column name which will be used as a Browser component result.
Finally, add database table name in the Table list field. Click Save + Edit column info button. Edit column names from a list shown below Information section and fill in Header/Term ID field with title, describing your columns (this will be shown in Browser UI for the front-end user). Click Save and test your newly created browser. If something went wrong, repeat steps from the start. Most of the time problem could be wrongly filled Column info field.
Now go to your ASPX page and add browsername attribute to your browsefield UI component. Doing so will set the browserfield component to your newly created browser component. This is that you want to see in your maintenance page when setting up the browsefield UI component:
<ex:cardfield runat="server" id="cf" caption="Item" captionid="0">
<ex:browsefield runat="server" id="p" browsername="pbr" datasource="bc" />
</ex:cardfield>
Hope this gives you quick idea of what you need to do in order to adjust it to your situation with tasks.

Communication between components (software design question)

I have an application with the following UI components:
Main Menu
Folders Tree
Query Builder
Tabbed Lists (each tab has a grid that can display data entities)
The application is based on MVC, so each component listed above has a controller and a view.
The first three components need to display data entities on the list (as new tabs):
Double clicking on a folder will display the folder's items in a new list.
When clicking the search button in the query builder it will open the search results in a new tab.
When clicking "Open..." menu item it and selecting a file it will open a new tab with the items in the file.
Since there could be a lot of items the process of loading them from the database is done asynchronously by the grid (the grid is being filled as you are looking at it).
My question is this: which of the following is a "cleaner" design? (if you have better solutions, I will appreciate it very much)
The first solution I have is to use an EventAggregator, define a "ShowQuery" event, make the lists controller subscribe to it, and the other controllers will publish it when they want to display the query results.
The other solution is something like the Unity Container, and from the other controllers resolve the "IListsController" interface, and call the "ShowQuery" method.

Resources